Brussels / 1 & 2 February 2025

schedule

Writing a kubernetes controller… But in Rust


Kubernetes API server provides a standardized extension layer, called CustomResourceDefinitions (CRDs). This is a go-to contract, used to implement a controller with added functionality. There are some standard libraries, like controller-runtime and kubebuilder, written in Go, built to integrate with it natively. But what about other languages, like Rust?

How would a controller look like written in Rust? Why would you want to consider writing one? What benefits or downsides this approach might have? And how can a Rust controller still benefit from an established Go ecosystem?

We will explore these topics, compare implementations and share experience over other projects using Rust within kubernetes.

Projects: - https://github.com/kube-rs/kube - https://github.com/kube-rs/kopium - https://github.com/rancher-sandbox/cluster-api-addon-provider-fleet - https://github.com/crust-gather/crust-gather

Speakers

Danil