Supervisor Services are vSphere certified Kubernetes operators that deliver Infrastructure-as-a-Service components and tightly-integrated Independent Software Vendor services to developers. You can install and manage Supervisor Services on the vSphere IaaS control plane environment so that to make them available for use with workloads.

When Supervisor Services are installed on Supervisors, DevOps engineers can consume them in different ways:

  • Shared Supervisor Services such as Harbor, directly provide functionality to workloads running in TKG clusters, vSphere Pods, or VMs.
  • Supervisor Services that include an operator, such as MinIO, typically provide API or graphical interfaces, which DevOps engineers can use to create and manage instances of the service in a vSphere Namespace through CRDs. For example, to create a MiniIO bucket, you use a CRD to create the bucket in a vSphere Namespace.

Learn more about the supported Supervisor Services and how to download their service YAML files at http://vmware.com/go/supervisor-service.

Supported Supervisor Deployments with Supervisor Services

Supervisor Services services are deployed as vSphere Pods. In the vSphere 8.0 release, only Supervisors configured with the NSX networking stack support vSphere Pods and respectively Supervisor Services. Starting with the vSphere 8 Update 1 release, vSphere Pods deployed by Supervisor Services are supported on Supervisors deployed with both types of networking, NSX or VDS.

Note: When the Supervisor is configured with the VDS networking stack, you cannot run Supervisor Services on NSX backed networks (distributed port groups created by NSX).
The following table lists the support for vSphere Pods deployed by Supervisor Services on the existing Supervisor deployments for vSphere 8 and later:
vSphere Version NSX Networking VDS Networking Supervisor Version One-Zone Supervisor Three-Zone Supervisor
vSphere 8 yes no 1.23 and later yes no
vSphere 8.0.1 and later yes yes 1.24 and later yes no
vSphere 8.0.3 and later yes yes 1.28 and later yes yes

Supervisor Services Life Cycle Management

You manage Supervisor Services from the vSphere Client. You can install Supervisor Services on Supervisors, upgrade their versions, or uninstall Supervisor Services from Supervisors. A Supervisor Service can have multiple versions registered with vCenter Server, but you can install only one version at a time on a Supervisor.
Table 1. Supervisor Service States
State Service Version Entire Service
Active The service version is ready to be installed on Supervisors. At least one service version is in Active state.
Deactivated The service version cannot be installed on Supervisors. It can continue running on any Supervisors where it is installed, but you cannot install a Deactivated version on new Supervisors. When and entire Supervisor Service is Deactivated, all of it's versions are also Deactivated and you cannot install any of them on Supervisors or add new service versions until you reactivate the service.
Managing the life cycle of a Supervisor Service includes the following operations:
Operation Description
Add a new Supervisor Service to vCenter Server When you add a new service to vCenter Server, the service and all information about it is registered with vCenter Server. The service is not yet installed on any Supervisor. After the service is registered with vCenter Server, its state is Active, which means that you can install that service on Supervisors.
Add a new Supervisor Service version to vCenter Server Once, you have added a Supervisor Service to vCenter Server, you can add new versions of that service. After the new service version is registered with vCenter Server it becomes in Active state and you can install the version on Supervisors
Install a Supervisor Service on Supervisors When you install a Supervisor Service on a Supervisor, the service YAML file is applied on the Supervisor, and all the vSphere Pods and necessary resources are created for the service to operate. A vSphere Namespace is automatically created for each Supervisor Service that you install on a Supervisor. You can manage the service resources from that vSphere Namespace. Supervisor Services might also have a UI plug-in for vCenter Server, where you can manage the service configuration.
Upgrade a Supervisor Service You can upgrade a service that is installed on a Supervisor by first adding a new service version to vCenter Server and then installing the new version on the Supervisor. During the service upgrade, the YAML file of the new version is applied to the Supervisor. Any resources that are specified in the previous service version that are not required by the new version will be deleted. For example, if version 1 specifies pod A and version 2 specifies pod B, after the upgrade to version 2 a new pod B is created and pod A is deleted. No currently running workloads are impacted during the process.
Uninstall a Supervisor Service version Uninstalling a service version from a Supervisor leads to all of the services resources being removed from the cluster including the service namespace. Application instances of the service in Kubernetes workloads will continue to run.
Delete a Supervisor Service version To delete a service version, first you must Deactivate that version and uninstall it from the Supervisors where it runs. Then you can delete the service version from vCenter Server
Delete an entire Supervisor Service To delete entire service, you must deactivate all of its versions, then uninstall these versions from Supervisors, and finally delete all the service versions.

Core Supervisor Services

Core Supervisor Services are services whose operators are pre-installed in the vSphere IaaS control plane during the Supervisor activation You can install core Supervisor Services on Supervisors and upgrade their versions without the need of updating the Supervisor first. However, you cannot remove the operators of core Supervisor Services from vSphere IaaS control plane.

Examples of core Supervisor Services are TKG service and the Velero vSphere Operator service.