Virtual Kubelet: Nodes Without Machines
Shriira Press
How a single Go program can convince Kubernetes that a serverless cloud, a remote cluster, or a fleet of edge devices is just another node.
Welcome to Virtual Kubelet: Nodes Without Machines.
Virtual Kubelet is an open-source Kubernetes kubelet implementation that masquerades as a node. Instead of running pods on a real machine, it registers a virtual node with the cluster and hands every pod scheduled there to a pluggable backend — Azure Container Instances, AWS Fargate, another Kubernetes cluster, an HPC batch system, or a swarm of IoT devices. The trick is an interface: implement a handful of methods like CreatePod and GetPodStatus, and Kubernetes treats your external system as if it were ordinary compute. This book builds the idea from the ground up. We begin with the problem of nodes that aren't machines, then dissect the kubelet contract Virtual Kubelet has to honour. We work through the node controller and pod controller, the Provider and NodeProvider interfaces, status reporting through leases, the kubectl logs and exec path, scheduling onto virtual nodes with taints and tolerations, the real-world providers, and finally how to write and operate one of your own. By the end you will understand not just what Virtual Kubelet does, but why its small surface area makes it such a versatile bridge across the cloud-native world.
This title is part of the ShriIra library and is free to read in full, right here — our small contribution to making world-class knowledge easy to reach.
A note on reading it: open the Contents menu at the top of the reader to jump between chapters, use the Aa menu to set a comfortable text size, theme (light, sepia, or night), and single- or two-page layout. Your place is saved automatically, so you can always pick up where you left off.
We hope it serves you well.
— Shriira Press