VMware vSphere Provider

The VMware vSphere Infrastructure Provider enables Immutable Infrastructure on the VMware vSphere platform. This provider is built on top of Cluster API Provider vSphere (CAPV) and integrates with vCenter to provision and manage virtual machines, networks, and storage for Kubernetes clusters.

Overview

VMware vSphere is the industry-leading virtualization platform from VMware. The vSphere Provider connects directly to vCenter to manage VM lifecycle, and extends CAPV with declarative node-slot allocation so that hostnames, static IP addresses, and persistent disks can be pre-defined before a cluster is provisioned.

Key Features

  • vCenter Integration: Direct vCenter connectivity to clone VM templates, manage VM lifecycle, and place workloads on target datacenters, compute clusters, and datastores
  • Machine Configuration Pools: VSphereMachineConfigPool defines per-node slots with fixed hostnames, static IPs, and persistent-disk layouts, enabling predictable VM provisioning and slot-based scale-out
  • Static IP Allocation: Static IP, gateway, and DNS configuration per node slot for enterprise network environments where DHCP is not available
  • Multi-NIC Support: Primary and additional NICs per node, where the primary NIC drives the kubelet node-ip and additional NICs are attached in declared order for management, storage, or service networks
  • Multiple Datacenters and Failure Domains: Distribute control plane and worker nodes across multiple vCenter datacenters or compute clusters through VSphereFailureDomain and VSphereDeploymentZone for high availability
  • Flexible Persistent Disks: Declarative data disks with optional format/mount, wipeFilesystem control for etcd rolling updates, and raw-device mode exposed at /dev/disk/by-capv/<name> for application-managed disks
  • Immutable-Template Rolling Updates: Control plane and worker updates go through new VSphereMachineTemplate and KubeadmConfigTemplate resources, giving Cluster API a clean rollback path on failed upgrades

Supported Resources

ResourceDescription
VSphereClusterRepresents vSphere infrastructure including vCenter endpoint, control plane endpoint, and failure-domain selector
VSphereMachineRepresents a virtual machine instance in vSphere
VSphereMachineTemplateImmutable template for creating vSphere machines with VM, CPU, memory, network, and disk specifications
VSphereMachineConfigPoolPool of pre-defined node slots with hostnames, static IPs, and persistent-disk layouts
VSphereFailureDomainDescribes a datacenter, compute cluster, datastore, and network topology used as a failure domain
VSphereDeploymentZoneBinds a VSphereFailureDomain to a vCenter server and placement constraints such as resource pool

Documentation