You can enable the vSphere Namespace Service to let developers manage the lifecycle of vSphere Namespaces using kubectl.

By enabling the vSphere Namespace Service on Supervisor, developers assigned to the Owner role in a vSphere Namespace can create their own vSphere Namespaces using the kubectl create namespace <NAME> command.

When you enable the vSphere Namespace Service, you define a namespace template and activate it. Developers who are assigned to the Owner role use the template to create namespaces.

Procedure

  1. Log into the vCenter Server using the vSphere Client.
  2. Select Workload Management > Supervisors and select the Supervisor instance.
  3. In the Configure tab, select Supervisor > General.
  4. Select Namespace Service.
  5. Toggle the Status switch to enable the feature.
    The Create Namespace Template page appears.
  6. In the Configuration pane, configure resource limitations to the namespace.
    Option Description
    CPU The amount of CPU resources to reserve for the namespace.
    Memory The amount of memory to reserve for the namespace.
    Storage The total amount of storage space to reserve for the namespace.
    Storage Policy Set the amount of storage dedicated individually to each of the storage policies that you associated with the namespace.
    VM Classes Select the VM classes. Use Ctrl to select multiple.
    Content Library Select the TKR content library.
  7. Click Next.
  8. In the Permissions pane, add DevOps engineers and groups to empower them to use the template to create namespaces.
    1. Select the vsphere.local identity source (must use vSphere SSO)
    2. Select a user or a group
    3. Select the Owner role
  9. In the Review and Confirm pane, the properties you configure are displayed.
    Review the properties and click Done.
  10. Verify that the vSphere Namespace Service is Active.
    A vSphere Namespace template is configured and is in Active state. vSphere Namespace users/groups assigned to the Owner role can use the template to create vSphere Namespaces using the kubectl command kubectl create namespace <NAME>.