VMware vSphere

Integration with vCenter.

Purpose

The VMware vSphere provider allows you to deploy Kubernetes clusters on virtual machines in the VMware vSphere environment (vCenter, ESXi).

Requirements

To configure the provider, it is necessary that the corresponding service in the management cluster is enabled and in the Auto management mode. More details: vSphere Provider (shturval-capvs).

Summary table of VMware vSphere infrastructure CRs (VSphere*): section Custom Node Lifecycle Resources - VMware vSphere.

Network and DHCP. Cluster nodes are created as virtual machines and obtain IP addresses via DHCP. The network (Distributed Port Group) that you specify in the Network field when configuring the instance must assign IP addresses via DHCP — without it, the created VMs will not receive addresses.

Instance creation

Go to Providers → Providers Configuration. In the Provider Services block, check whether vSphere Provider is enabled. If the service is disabled, click on the switch and wait for it to start. Then click Add Provider Instance → select “+ VMware vSphere”.

The service switch puts the associated provider SSCs into auto mode: first the CRD chart, then the main provider chart. Wait until the service enters the ready state.

Illustration: Instance creation

Switching provider service mode

Illustration: Instance creation

Selecting a VMware vSphere provider

Configuration fields

FieldRequiredDescription
Instance nameYesA unique name to identify the instance in the platform (for example, vcenter-prod).
IP PoolNoSelect a pool from the list. Addresses from the pool are assigned to the cluster API server and VIP Ingress when the cluster is created. Without a pool, addresses are entered manually. Adding and configuring pools in the platform - on the IP address pools page
vCenter AddressYesIP address or FQDN of the vCenter server. Example: vcenter.company.local or 10.11.12.100.
UsernameYesAccount in the format username@domain (for example, administrator@vsphere.local). Domain required.
PasswordYesAccount password for connecting to vCenter.
VMware vSphere account requirements

Note: The account is specified in the format username@domain (for example, admin@vsphere.local).

The provider requires VMware vSphere 6.7 update 3 or 7.0 and higher. Create a resource pool and prepare an account with assigned roles:

  • Custom role with permissions to service role No. 1 - for creating and managing VMs;
  • System role Read only - for reading the configuration;
  • When using CSI - additionally a custom role with permissions of service role No. 2 (CNS, Profile-driven storage, Sessions). Role No. 2 is auxiliary; without Role No. 1 it will not provide all the required permissions.
Rights assignment scheme
ObjectRolePropagation (inheritance)Comment
vCenterService Role #2NoRequired for CSI
DatacenterRead onlyNoData center for VM client clusters
ClusterService Role #1NoCluster for VM client clusters
HostRead onlyNoHosts in a cluster. Required for CSI
resource poolService Role #1Yes (optional)Resource pool for VMs
FolderService Role #1YesFolder for VM and template
DatastoreService Role #1YesStorage for VM disks
Distributed SwitchRead onlyNoSwitch for VM network interfaces
Distributed Port GroupService Role #1YesA group of ports for VM network interfaces. Rights must also be for the port group to which the VM template is connected
Permissions for service role #1
SectionResolution
DatastoreAllocate space
Browse datastore
Low level file operations
Remove file
Update virtual machine files
Update virtual machine metadata
FolderCreate folder
Delete folder
Move folder
Rename folder
GlobalCancel task
Log event
Set custom attribute
Host.Local operations
  • Create virtual machine
  • Delete virtual machine
  • Reconfigure virtual machine
NetworkAssign network
ResourceApply recommendation
Assign vApp to resource pool
Assign virtual machine to resource pool
Create resource pool
Migrate powered off virtual machine
Migrate powered on virtual machine
Move resource pool
Query vMotion
Remove resource pool
Scheduled taskCreate tasks
Modify task
Remove task
Run task
Profile-driven storageProfile-driven storage view
TasksCreate task
Update task
vApp ActionsAdd virtual machine
Assign resource pool
Assign vApp
Clone
Create
Delete
Export
Import
Move
Power off
Power on
Pull from URL
Rename
Suspend
Unregister
View OVF environment
vApp application configuration
vApp instance configuration
vApp managedBy configuration
vApp resource configuration
Virtual machineChange Configuration:
  • Acquire disk lease
  • Add existing disk
  • Add new disk
  • Add or remove device
  • Advanced configuration
  • Change CPU count
  • Change Memory
  • Change Settings
  • Change Swapfile placement
  • Change resource
  • Configure Host USB device
  • Configure Raw device
  • Configure managedBy
  • Display connection settings
  • Extend virtual disk
  • Modify device settings
  • Query Fault Tolerance compatibility
  • Query unowned files
  • Reload from path
  • Remove disk
  • Rename
  • Reset guest information
  • Set annotation
  • Toggle disk change tracking
  • Toggle fork parent
  • Upgrade virtual machine compatibility
Edit Inventory:
  • Create from existing
  • Create new
  • Move
  • Register
  • Remove
  • Unregister
Guest operations:
  • Guest operation alias modification
  • Guest operation alias query
  • Guest operation modifications
  • Guest operation program execution
  • Guest operation queries
Interaction:
  • Answer question
  • Backup operation on virtual machine
  • Configure CD media
  • Configure floppy media
  • Connect devices
  • Console interaction
  • Create screenshot
  • Defragment all disks
  • Drag and drop
  • Guest operating system management by VIX API
  • Inject USB HID scan codes
  • Install VMware Tools
  • Pause or Unpause
  • Perform wipe or shrink operations
  • Power off
  • Power on
  • Record session on virtual machine
  • Replay session on virtual machine
  • Reset
  • Resume Fault Tolerance
  • Suspend
  • Suspend Fault Tolerance
  • Suspend to memory
  • Test failover
  • Test restart Secondary VM
  • Turn off Fault Tolerance
  • Turn on Fault Tolerance
Provisioning:
  • Allow disk access
  • Allow file access
  • Allow read-only disk access
  • Allow virtual machine download
  • Allow virtual machine files upload
  • Clone template
  • Clone virtual machine
  • Create template from virtual machine
  • Customize guest
  • Deploy template
  • Mark as template
  • Mark as virtual machine
  • Modify customization specification
  • Promote disks
  • Read customization specifications
Snapshot management:
  • Create snapshot
  • Remove snapshot
  • Rename snapshot
  • Revert to snapshot
Permissions for service role #2
SectionResolution
CNSSearchable
Profile-driven storageProfile-driven storage update
Profile-driven storage view
SessionsView and stop sessions
Validate session

After entering your credentials, click Test connection. If successful, drop-down lists will be available to select vSphere objects.

FieldRequiredDescription
DatacenterYesA virtual data center in which cluster VMs will be created. Select from the list after checking the connection.
Resource PoolYesResource pool for hosting VMs. Defines CPU and memory limits. Select from the list.
NetworkYesNetwork for VM network interfaces. DHCP must be running on the network to automatically assign IP to created VMs.
DatastoreYesData storage for VM disks. Select from the list. If Datastore has multiple Storage Policies, specify the required policy.
VM storage pathYesPath to the Datastore for placing VM files (for example, a folder in the storage).

VM templates

Add VM templates for the required Kubernetes versions. You can add multiple templates with the same Kubernetes version. Templates are created according to single instruction.

In the Virtual machine templates block, click + to add a template. In the side window, select name (as in virtualization) and Kubernetes version. Shturval platform version will be filled in automatically and will be available for viewing only.

Illustration: VM templates

VMware vSphere VM template

Features

  • Use VM templates prepared according to single instruction;
  • Nodes obtain IP addresses via DHCP — DHCP is required on the network selected in the Network field;
  • Ensure that VMware vSphere resources (CPU, RAM, storage) are sufficient to deploy cluster nodes.