Writing a kubernetes controller… But in Rust
Day 1 | 11:30 | 00:20 | UD2.218A | Danil
Note: I'm reworking this at the moment, some things won't work.
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