Kubelet Deep Dive: Writing a Kubelet in Rust

Kevin Flansburg at KubeCon + CloudNativeCon North America 2020

Kubelet is a critical part of the Kubernetes project. Kubernetes deployments can vary a great deal in terms of container runtime, self-hosted or static control plane, CNI provider, etc., but they must all have Kubelet running on each node host. Many intermediate Kubernetes users could benefit from a deeper understanding of Kubelet behavior. This talk discusses the development of a Kubelet in Rust, and offers a deep dive into the expected behavior and implementation of Kubelet. The talk will begin with a discussion of how Kubelet fits into a Kubernetes deployment, and its relationship with Kubernetes Operators and the Container Runtime Interface (CRI). Next, the talk will cover important crates for Kubernetes development in Rust, as well as the development of Operators and use of gRPC. Finally, the talk will end with pros and cons of using Rust today for Kubernetes development.