Writing Kubectl plugins using WebAssembly
summary
Claim: kubectl plugins compiled to WebAssembly run from a single target and are smaller and safer. Built a manager/runtime called crew wasn't that downloads modules from container registries, exposes them to kubectl, and supplies capability shims; demonstrated a decoder plugin that decodes Secret data and parses TLS certificates into human‑readable fields. Implementation uses Rust and the IO‑agnostic Kubernetes Rust client; sockets are not yet in WASI so networking uses custom host capabilities. Prototype works as a proof of concept.
AI-written summary · about
chapters (9)
- 0:00Introduction
- 0:48Current kubectl plugins
- 1:29WebAssembly benefits
- 4:00Introducing krew-wasm
- 5:05Demo plugin installation
- 6:10Plugin in action
- 8:18Lessons learned
- 11:51Resources and wrap-up
- 12:13Q&A
related talks
23mWhat If... Kubernetes Core Pieces Could Be Extended with Pluggable WebAssembly Modules?
32mA Tale of Two Plugins: Safely Extending the Kubernetes Scheduler with WebAssembly
50mWebAssembly: A Recovering Kubernetes Engineer's View of the Future
41mLeveraging WebAssembly to Write Kubernetes Admission Policies
41mKubernetes Policy As Code using WebAssembly
31mA Tale of Two Plugins Safely Extending the Kubernetes Scheduler with WebAssembly
39mRunning WebAssembly on Kubernetes
13mRunning K8s in the Browser. Yes, Really. Well, Not Really. Kind of.
