Contribute Media
A thank you to everyone who makes this possible: Read More

Managing Kubernetes from Python using Kube

Translations: en


David Charles - Managing Kubernetes from Python using Kube [EuroPython 2016] [18 July 2016] [Bilbao, Euskadi, Spain] (

Kubernetes is the Google Borg inspired control plane for Docker containers. It has a great API but needs a load of HTTP client code and JSON processing to use it from Python. This talk introduces Kube, a Python wrapper around the Kubernetes API that enables you to manage your Kubernetes cluster in a pythonic way while avoiding any Kubernetes API peculiarities. Programmers and operations folk who are interested in interacting with the Kubernetes API using Python.


Docker has had a transformative influence on the way we deploy software and Kubernetes, the Google Borg inspired control plane for Docker-container- hosting-clusters, is gaining similar momentum. Being able to easily interact with this technology from Python will become an increasingly important capability in many organisations. I'll discuss what the motivations behind writing Kube. We'll dive into Kube using the Python interactive interpreter, getting connected to the API, and simple viewing and label update operations. Finally I'll discuss more advanced resource management activities like Kube's 'watch' API capability.


Attendees will learn about the key concepts in getting resource information out of their Kubernetes cluster using Kube.


  1. Setting the scene (3 minutes)
  2. Other Python kubernetes wrappers (2 minutes)
  3. Kubernetes concepts quick recap (5 minutes)
  4. Dive into Kube in the Python interactive interpreter (10 minutes)
    • Outline prerequisites
    • The entry point - a Cluster instance
    • Views and Items - two important Kube concepts
    • Item meta data: labels and versions
  5. More Kube features (5 minutes)
    • Creating and deleting resources
    • Using Kube's Watch API support
    • The cluster proxy attribute for when you need to get at the actual API.
  6. Q&A (5 minutes)
Improve this page