Kubernetes on vSphere
Deploying a Kubernetes cluster on vSphere
Last updated
Deploying a Kubernetes cluster on vSphere
Last updated
At its foundation, a Kubernetes cluster contains a set of nodes that endow pods with compute, storage, and networking. For a Kubernetes cluster to run on VMware vSphere, these nodes are virtual machines sitting in a vSphere DRS cluster or resource pool. The VMs have a Linux kernel with a container runtime, such as Docker, that integrates with Kubernetes. Each VM that is a node in the cluster will also be running various Kubernetes modules, such as kubelet and kube-proxy. Each node also needs information about the underlying vCenter, information that the node uses to provision a persistent storage volume when it's needed. As a result, the kubelet must be configured to use the vSphere Storage Provider.
The DRS cluster pools resources from the underlying ESXi hosts that are part of the cluster and provides the resources to the Kubernetes cluster through the node VMs.
The resources help provide elastic capacity to the Kubernetes cluster -- whenever the cluster needs to scale, a new node can be provisioned to attach it to the cluster.
The resource pool also helps avoid overprovisioning physical server capacity.