Skip to main content

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 volumes
  • metallb — 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