The controller needs to be configured with vSphere Credentials and Gateway setup in order to programmatically create and configure required VMware infrastructure on vCenter in your account. These credentials securely managed as part of a cloud credential in the Controller.
The creation of a cloud credential is a "One Time" task. It can then be used to create clusters in the future when required. Refer vSphere Credentials for additional instructions on how to configure this.
To guarantee complete isolation across Projects (e.g. BUs, teams, environments etc.,), cloud credentials are associated with a specific project. These can be shared with other projects if necessary.
Assure to have the below pre-requisites to deploy a Kubernetes cluster in VMware environment:
- vSphere version 6.7u3 or above
- An vSphere Standard or higher
Self Service Wizard¶
The wizard prompts the user to provide critical cluster configuration details organized into logical sections:
- vCenter Settings
- Network Settings
- Control Plane
- Worker Nodes
- Click Clusters on the left panel and the Clusters page appears
- Click New Cluster
- Select Create a New Cluster and click Continue
- Select the Environment Private Cloud
- Select the Infra Provider VMWARE
- Provide a cluster name and click Continue
General section is mandatory to create a cluster
- Select the Cloud Credential from the drop-down created with vSphere credentials
- Select a Blueprint and version. Customized blueprint can also be selected from the drop-down if required
vCenter Settings (Mandatory)¶
This section allows to customize the vCenter Settings
- Enter the Data Center name, used for connecting with the gateway via vCenter
- Enter the Data Store and Resource pool selected in the vCenter. Refer to VMware Schema for more information on how to enter the resource pool name, especially in an environment with similar resource pool names.
- Ensure to have the VM Templates in the vCenter. Enter the required VM Template depending on the Kubernetes version used. Refer to VMware Schema for more information
Refer Gateway to know more about the above fields
- Optionally, provide the folder name created in the vCenter where the VM must be deployed
- Enter the IP address used for Control Plane Endpoint
The control plane IP address is unique and must not be assigned to any other nodes/VMs. Hence, consider removing this address from your DHCP pool to avoid IP conflict when entered manually during the cluster configuration
- Select the Network Settings CNI Name as calico and the version
- Enter the Network Name configured in the VMware Console. Refer Gateway for more details
- Enter the CIDR Blocks
Optionally, provide the Proxy Configuration details
- Select Enable Proxy if the cluster is behind a forward proxy.
- Configure the http proxy with the proxy information (ex: http://proxy.example.com:8080)
- Configure the https proxy with the proxy information (ex: http://proxy.example.com:8080)
- Configure No Proxy with Comma separated list of hosts that need connectivity without proxy. Provide the network segment range selected for provisioning clusters in the vCenter (ex: 10.108.10.0/24)
- Configure the Root CA certificate of the proxy if proxy is terminating non MTLS traffic
- Enable TLS Termination Proxy if proxy is terminating non MTLS traffic and it is not possible to provide the Root CA certificate of the proxy.
Control Plane Settings¶
- Enter the number of machines to deploy as part of Control Plane
- Provide the CPU, Memory, and Storage to customize the control plane node size
- Select the required K8s version
- Optionally, provide the Ssh Authorized Keys
Node Pools Settings¶
A node pool is created by default when creating a cluster. It is mandatory to have one node pool for a cluster.
- To add more node pools, click Add Node Pool
- Provide the required details and click Save
Once all the required config details are provided, perform the below steps
- Click Save Changes and proceed to cluster provisioning
- The cluster is ready for provision. Click Provision
The node pool name should be limited to a maximum of 63 characters. The node name format follows this pattern:
Once the user clicks on Provision, the system begins to go through a list of conditions for a successful provisioning as shown below
Once all the steps are complete, the cluster is successfully provisioned as per the specified configuration. Users can now view and manage the VMware Cluster in the specified Project in the Controller. On successfully provisioning, the user can view the dashboards
Administrators can download the VMware Cluster's configuration either from the console or using the RCTL CLI
Click the Delete option to delete the cluster as shown below. To force delete the cluster resources from the controller, enable the Delete Cluster object in the controller and click Yes
Cluster provisioning can fail if the user had misconfigured the cluster configuration or gateway is unhealthy or gateway is not able to reach to controller.
Refer Troubleshooting to know more about the failed scenarios