现有 Cloud Hypervisor shell launcher 已完成可行性验证,但继续维护磁盘、TAP、网络、VMM 进程与清理逻辑会使项目演变成自制 hypervisor 管理工具。
Kata Containers 本身是 containerd shim v2:containerd 提供稳定任务 API、OCI 镜像与生命周期管理,Kata shim 负责创建 microVM、guest agent、网络、挂载、状态持久化和 VMM 集成。官方支持不经 Kubernetes,直接使用 ctr/nerdctl 和 io.containerd.kata.v2;runtime-rs 支持 Cloud Hypervisor、Firecracker、QEMU 与内置 Dragonball。
ctr
nerdctl
io.containerd.kata.v2
这可能让现有 pve2 LXC 只运行 containerd + Kata,而无需维护第二个 Kubernetes 集群,也无需本项目管理 TAP、qcow2 与 Cloud Hypervisor 进程。
microvm-executor │ containerd API ▼ containerd ─► containerd-shim-kata-v2 ─► Cloud Hypervisor/Dragonball ─► runner OCI image
/dev/kvm
之前 Docker overlay2 在 Kata guest 中失败,是因为默认容器 rootfs//var/lib/docker 位于 virtiofs,virtiofs 不能作为 overlayfs upper。
overlay2
/var/lib/docker
本 PoC 不应再次用 shell 临时修补。优先验证 Kata EROFS snapshotter 或其他官方 block-backed snapshotter:其 writable upper 以 ext4 block device 挂入 guest,使 pipeline 安装的 Docker daemon 可以使用 overlay2。若仍不能满足要求,再比较显式临时 block volume 与 fuse-overlayfs。
必须验证:
kind create cluster
No dependencies set.
The note is not visible to the blocked user.
背景
现有 Cloud Hypervisor shell launcher 已完成可行性验证,但继续维护磁盘、TAP、网络、VMM 进程与清理逻辑会使项目演变成自制 hypervisor 管理工具。
Kata Containers 本身是 containerd shim v2:containerd 提供稳定任务 API、OCI 镜像与生命周期管理,Kata shim 负责创建 microVM、guest agent、网络、挂载、状态持久化和 VMM 集成。官方支持不经 Kubernetes,直接使用
ctr/nerdctl和io.containerd.kata.v2;runtime-rs 支持 Cloud Hypervisor、Firecracker、QEMU 与内置 Dragonball。这可能让现有 pve2 LXC 只运行 containerd + Kata,而无需维护第二个 Kubernetes 集群,也无需本项目管理 TAP、qcow2 与 Cloud Hypervisor 进程。
需要验证的拓扑
关键验证
/dev/kvm、cgroup 与 AppArmor 配置nerdctl启动一次性 privileged runner OCI containerDocker/kind 验证
之前 Docker
overlay2在 Kata guest 中失败,是因为默认容器 rootfs//var/lib/docker位于 virtiofs,virtiofs 不能作为 overlayfs upper。本 PoC 不应再次用 shell 临时修补。优先验证 Kata EROFS snapshotter 或其他官方 block-backed snapshotter:其 writable upper 以 ext4 block device 挂入 guest,使 pipeline 安装的 Docker daemon 可以使用 overlay2。若仍不能满足要求,再比较显式临时 block volume 与 fuse-overlayfs。
必须验证:
overlay2,或明确记录所选 storage driver 及原因kind create cluster、基础 Pod 调度与删除成功验收标准
备选与淘汰条件