VMware vSphere Provider Setup
Purpose: For platform engineers, shows how to configure the VMware provider when the vSphere virtual machines already exist.
Prerequisites
- VMware vSphere 7.0+ or 8.0+ environment
- vCenter Server with API access
- Pre-provisioned Linux VMs for the control-plane and worker nodes
- Service account or credentials suitable for vSphere CSI and inventory inspection
- DNS and IP assignments for all cluster nodes
- openCenter CLI installed
Initialize Cluster
opencenter cluster init prod-cluster --org my-org --type vmware
Configure Provider Section
opencenter cluster edit prod-cluster
Set the VMware provider block and list the existing VMs:
opencenter:
infrastructure:
provider: vmware
bastion:
address: bastion.example.com
cloud:
vmware:
vcenter_server: vcenter.example.com
datacenter: Datacenter1
cluster: Cluster1
datastore: datastore1
network: VM Network
folder: /vm/opencenter
nodes:
- name: cp-1.example.com
ip: 192.168.12.20
role: master
- name: cp-2.example.com
ip: 192.168.12.21
role: master
- name: cp-3.example.com
ip: 192.168.12.22
role: master
- name: worker-1.example.com
ip: 192.168.12.30
role: worker
- name: worker-2.example.com
ip: 192.168.12.31
role: worker
secrets:
vsphere_csi:
vcenter_host: vcenter.example.com
username: administrator@vsphere.local
password: ${VSPHERE_PASSWORD}
datacenters: Datacenter1
insecure_flag: "false"
port: "443"
datastoreurl: ds:///vmfs/volumes/datastore-12345/
VMware-Specific Services
VMware clusters typically use:
vsphere-csi— vSphere CSI driver for VMDK-backed persistent volumesmetallb— LoadBalancer service type implementation
The same secrets.vsphere_csi credentials are used by the CSI integration and the VMware drift-detection backend.
What openCenter Does Not Do
The VMware provider is a pre-provisioned path:
- openCenter does not create the VMs for you
- openCenter does not reconcile VMware resources automatically
- you remain responsible for VM lifecycle, placement, and capacity planning
Validate and Deploy
opencenter cluster validate prod-cluster
opencenter cluster setup prod-cluster --render
opencenter cluster bootstrap prod-cluster
Use the rendered inventory and GitOps output to carry the cluster through your normal Kubespray and service-deployment workflow.
Verification
# Check vSphere CSI driver
kubectl get pods -n vmware-system-csi
kubectl get csidrivers | grep vsphere
# Inspect VMware drift
opencenter cluster drift detect prod-cluster
# Verify StorageClass
kubectl get storageclass