vk-cocoon
Virtual Kubelet provider that maps Kubernetes pods to
Cocoon MicroVMs. One vk-cocoon
process runs per node, translating pod CRUD into cocoon CLI calls and
pushing per-VM status back to the kubelet.
Kubernetes API ──► virtual-kubelet provider (vk-cocoon, one per node)
pod CRUD ──► CreatePod / DeletePod / UpdatePod ── cocoon clone/run/snapshot
status ◄── async notify ── per-pod probe loop + real-time VM event watcher
snapshots ──► Puller / Pusher ── OCI registry (cross-node hibernate/wake)
Guides
- Architecture — the layer map, the async-provider
contract, and where vk-cocoon sits in the cocoonstack
- Pod lifecycle — CreatePod (clone / run / static),
DeletePod (snapshot-on-destroy), and the hibernate/wake UpdatePod path
- Readiness probing — the per-pod probe loop that makes an
async provider’s status live (ICMP / TCP, IP re-resolution)
- Runtime reconciliation — startup reconcile, orphan
policy, and the sub-second VM event watcher
- Post-clone network hints — when a cloned guest needs
manual network fixup and how the hint annotation surfaces it
- Node resources — host-probed Capacity /
Allocatable and the override knobs
- CPU QoS — how pod requests/limits map onto cocoon’s
per-VM cgroup policy, with recipes
- Metrics & monitoring — the kubelet stats API, the
metrics-server resource endpoint, and the
cocoon_vk_* families
- Configuration — every environment variable
- Installation — the systemd unit, capabilities, and
building from source
Repository
Source and issue tracker:
github.com/cocoonstack/vk-cocoon.
Part of the cocoonstack MicroVM platform.