Using vSphere Host Groups with Tanzu Kubernetes Grid Integrated Edition

Note: As of v1.8, Enterprise PKS has been renamed to VMware Tanzu Kubernetes Grid Integrated Edition. Some screenshots in this documentation do not yet reflect the change.

Page last updated:

Topic provided by VMware

This topic describes how to use vSphere Host Groups with VMware Tanzu Kubernetes Grid Integrated Edition.

About vSphere Host Groups

In vSphere, a cluster is a collection of EXSi servers that run virtual machines (VMs). A typical way to organize resources within a cluster is using resource pools. A resource pool is a collection of vSphere resources.

Another way to segment resources within a cluster is using host groups. This means that within a cluster object you can specify certain ESXi hosts to be part of a host group.

Tanzu Kubernetes Grid Integrated Edition users can define host groups in vSphere, then in the TKGI tile can specify the host group. Host groups align with the Availability Zone (AZ) construct in BOSH.

For more information on vSphere host groups, refer to the vSphere documentation.

Host Group Use Cases for Tanzu Kubernetes Grid Integrated Edition

This subsection describes use cases for using host groups with Tanzu Kubernetes Grid Integrated Edition.

Enabling Support for vSAN Fault Domains

The vSAN fault domains feature instructs vSAN to spread redundancy components across the servers in separate computing racks. In this way, you can protect the environment from a rack-level failure such as loss of power or connectivity. For more information, see Designing and Sizing vSAN Fault Domains in the VMware documentation.

Fault domains map to host groups. If you have set up fault domains in your vSAN architecture, you can now leverage host groups with TKGI.

Using Host Group as a New AZ in BOSH

Previously, the two types of AZs available with TKGI on vSphere were Datacenter and Datacenter plus Resource Pool. Host groups gives you a third option: Datacenter plus HostGroups.

In the case of multi-master Kubernetes clusters, with the Datacenter and Datacenter plus Resource Pool AZs, there is no guarantee that master nodes will reside on separate ESXi hosts. With the Datacenter plus HostGroups AZ you can guarantee that Kubernetes master nodes will reside on separate ESXi hosts.

Defining a Host Group in vSphere

To implement host groups with Tanzu Kubernetes Grid Integrated Edition, the first step is to define a host group in vSphere.

  1. Log in to vCenter.
  2. Select the compute Cluster.
  3. Select the Configure tab.
  4. Under Configuration, select VM/Host Groups.
  5. Click Add and configure the host group as follows:
    • Name: Enter a name for the host group.
    • Type: Select Host Group from the drop down.
    • Click Add and select the ESXi host(s) to include in the host group.
    • Click OK.
  6. Once done, you should see that the host group is configured.

Using a Host Group with Tanzu Kubernetes Grid Integrated Edition

Once the host group is defined in vSphere, the next step is to declare this host group when defining the BOSH Availability Zone (AZ) for use with Tanzu Kubernetes Grid Integrated Edition.

  1. Log in to Ops Manager.
  2. Select the BOSH Director tile.
  3. Select the Create Availability Zones tab.
  4. Select the desired AZ, or create a new one.
  5. In the Clusters section, enter the name of the Host Group.
  6. (Optional) If you are using a host group with vSAN stretched clusters, set the VM-Host Affinity Rule dropdown to SHOULD. This setting maintains high availability by letting TKGI restart VMs in another host group if their AZ fails. TKGI ignores this setting if the vSAN cluster has no host group configured.
    For more information, see Ability to Set the VM-Host Affinity Rule to “Should” for Clusters in vSphere in the Ops Manager v2.9 Release Notes.
  7. Click Save.

Please send any feedback you have to pks-feedback@pivotal.io.