Kuryr and Kubernetes probes - pt 1

Adding Kubernetes probes to Kuryr-kubernetes

Maysa Macedo
2 min readJan 13, 2018

Hi there,

Happy 2018 and let’s get back on track!

As promised in my last post, I will dive into more details about Kuryr-Kubernetes and my first task for the Outreachy internship.

Kuryr-Kubernetes includes native Neutron-based networking in Kubernetes. As a result it gives higher flexibility when deploying, in a way that containers are in the same Neutron Network, regardless if are deployed bare metal or inside VMs and so you can route between them.

The two main components of Kuryr are:

  • Kuryr Controller: A daemon that watches Kubernetes API for resources changes and performs allocation and management of Neutron resources. Kubernetes resources are annotated with informations about Neutron resources.
  • Kuryr CNI: A container networking interface that binds Kuryr Controller allocated Ports to Pods.

One of the main goals of my Outreachy internship is to guarantee that these two componentes are ready and alive. As my first task, I started attacking the readiness for Kuryr Controller, so I created a Manager that will take care of this. It will verify and serve an endpoint for Kubernetes readiness probe, which will perform the auto healing for the pod when necessary. You can find more details about Kubernetes probes here.

The created Health Manager checks whether it is able to watch the Kubernetes API, authenticate with Keystone and talk to Neutron, since these are services needed by Kuryr Controller. These checks assure the Controller readiness.

My patch for the readiness checks was merged and I have started working on the liveness probe for Kuryr-Controller, but this will be content for the next post.

See you there!

--

--