Hi all, wanted to surface a few things the Deislabs team (my team) at Microsoft has done to make wasm work "natively" in Kubernetes. We had tried a kubelet with krustlet, and it worked fine but you have to treat the node as a special thing AND you have to rebuild all the networking and storage and it just gets very hard to do that work only for wasm support with a "special" node.
We went, in the end, with a containerd shim model, which presents wasmtime-based services as "pods" and handles requests with wasi or wasi-based wasm components per-request.
It's very nice, and we think we're working on the best path for general wasi and component usage in Kubernetes. That shim is https://github.com/containerd/runwasi, but you can also easily try it out on k3s: https://github.com/deislabs/containerd-wasm-shims/blob/main/deployments/k3d/README.md#how-to-run-the-example
this is the shim that is running in Azure Kubernetes Service preview as well as our connected IoT service, called AKS Lite. It's all the same, all with wasmtime and wasi.
some updates in this area:
<3 that is all
Last updated: Dec 23 2024 at 12:05 UTC