Before you can automate some of the administrative tasks for using vSphere with Tanzu, you must first familiarize yourself with the high-level system architecture and components involved.

The vSphere with Tanzu API consists of two packages, namespace_management and namespaces. In the namespace_management package, you can find APIs for enabling a vSphere cluster with vSphere with Tanzu, configuring the network and storage policies of the Supervisor, upgrading a cluster to the desired version of vSphere with Tanzu, and so on. In the namespaces package, you can find APIs for creating, configuring, and deleting a vSphere Namespace, and also for setting the necessary permissions for accessing the namespace.

Figure 1. Services and Components Involved in Using vSphere with Tanzu
The components and services of vSphere with Tanzu interconnect with the components of your vCenter Server environment.

The vSphere Kubernetes Services component runs on vCenter Server and communicates the vSphere admin requests to the Supervisor control plane. The component comprises of several services which vSphere Automation endpoints you can use to enable vSphere with Tanzu on a vSphere cluster and create Kubernetes workloads.

You can use the Cluster Compatibility service to query a vCenter Server instance about the available clusters that meet the requirements for enabling vSphere with Tanzu.

You can use the Clusters service to enable or disable vSphere with Tanzu on a cluster. You can also reconfigure the settings of a Supervisor.

You can use the Instances service to create, edit, and delete a vSphere Namespace from a Supervisor. You can also change all or some of the settings of an existing namespace.

Starting with vSphere 7.0 Update 1, a Supervisor backed by a vSphere Distributed Switch uses the HAProxy load balancer to provide connectivity to DevOps and external service. The Load Balancer service represents the user provisioned load balancers.

Starting with vSphere 7.0 Update 2a, vSphere administrators can use the VM Service functionality to enable DevOps engineers to deploy and run VMs and containers in one shared Kubernetes environment through a single Kubernetes native interface. Use the vSphere with Tanzu APIs to define VM Classes and content libraries to allocate resources to virtual machines provisioned by DevOps engineers.

As of vSphere 7.0 Update 2a, vSphere administrators can also configure a vSphere Namespace as a template on a cluster. Then the DevOps engineers can use it to self-service the creation of vSphere Namespaces and deploy workloads within them.