Kubernetes on vSphere

Deploying a Kubernetes cluster on vSphere

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.

Last updated