Kubelet Deep Dive: Writing a Kubelet in Rust
Talkat KubeCon + CloudNativeCon North America 2020 Virtual · on Thursday, 2020-11-19· at 17:40· Intrado Virtual Event Platform,·
summary
Rewrites Kubelet in Rust as the crestlet project, shipping a reusable kubelet crate plus two working kubelet implementations that run Wasm (using wasmtime and wask runtimes) and a Linux-container provider that talks CRI via gRPC. Uses kube and k8s-openapi crates, tonic/prost for gRPC, serde and tracing for telemetry, and a compile-time state-machine pattern (cubic) to enforce valid pod-state transitions. Result: smaller Wasm images, concurrent-safe control loop, and a usable Rust kubelet prototype.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:19About Me • Rust - 3 years Microservices
- 2:20Kubernetes Architecture
- 3:56Controller Pattern . (Mostly) immutable resource objects. • Monitor for changes to objects of a particular resource.
- 4:55Aside: Operators • Controller with: Custom Resource Definition Application / domain specific
- 7:25Rust for Distributed Apps
- 10:27Rust Ecosystem • Many fantastic crates Serde
- 14:56Rust State Machine • A Fistful of States: More State Machine Patterns in Rust Flexible framework for implementing Kubelet control loop. Compile-time enforcement
- 16:12Krustlet Architecture
related talks
54mRust, Kubernetes, and the Cloud
24mWriting Kubernetes Operators in Rust
41mBuilding a Kubernetes monitoring dashboard in Rust. Why not?
36mIntroduction to Virtual Kubelet – Featuring Titus by Netflix
38mRusty Container Ships: Kubernetes outside the Datacentre
38mKubernetes on Edge: Bringing Your Code to Constraine...
12mSecuring the Kubelet API: Why is it important?
28mGo Containerless on Kubernetes with WebAssembly and Rust
