论文标题

将Kubernetes控制器调整到边缘:使用WASM和WASI的按需控制平面

Adapting Kubernetes controllers to the edge: on-demand control planes using Wasm and WASI

论文作者

Sebrechts, Merlijn, Ramlot, Tim, Borny, Sander, Goethals, Tom, Volckaert, Bruno, De Turck, Filip

论文摘要

Kubernetes的高资源需求阻碍了其在边缘和雾之类的受约束环境中的采用。它的可扩展控制平面是对此的重要贡献,由称为“控制器”的长期流程组成,即使不需要,这些过程也会不断倾听状态变化和使用资源。本文仅在需要时就提出了一个基于WebAssembly的框架,用于运行轻型控制器。该框架扩展了WebAssembly系统接口(WASI),以便将Kubernetes控制器作为轻量级WASM模块运行。该框架以修改版本的Wasmtime(参考WebAssembly(WASM)运行时)运行这些WASM控制器,该版本将空闲控制器换成磁盘并在需要时激活它们。与传统的基于容器的控制器框架相比,彻底的评估表明,该框架可实现64%的记忆力。

Kubernetes' high resource requirements hamper its adoption in constrained environments such as the edge and fog. Its extensible control plane is a significant contributor to this, consisting of long-lived processes called "controllers" that constantly listen for state changes and use resources even when they are not needed. This paper presents a WebAssembly-based framework for running lightweight controllers on-demand, only when they are needed. This framework extends the WebAssembly System Interface (WASI), in order to run Kubernetes controllers as lightweight Wasm modules. The framework runs these Wasm controllers in a modified version of Wasmtime, the reference WebAssembly (Wasm) runtime, that swaps idle controllers to disk and activates them when needed. A thorough evaluation shows this framework achieves a 64% memory reduction compared to traditional container-based controller frameworks.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源