Users attempting to access vSphere Supervisor Clusters via kubectl frequently encounter 403 Forbidden errors, even when they possess "Supervisor Administrator" or "vSphere Administrator" roles. This is often confused with a configuration defect, but it is an expected architectural design.
vSphere Supervisor Cluster (VKS 9.x)
The confusion stems from the two-tier permission model in vSphere Supervisor:
kubectl) is governed strictly by Kubernetes RBAC objects, which are mapped to vSphere namespaces.Being an "Administrator" in vSphere inventory does not automatically grant "Cluster Administrator" privileges in Kubernetes. Users must be explicitly assigned "Namespace Owner" or "Can Edit" roles at the namespace level to interact with resources via kubectl
kubectl get pods -A will return a "Forbidden" error by design.kubectl access must be assigned directly within the vSphere Web UI under Supervisor Management -> Namespaces. Ensure the user/group has "Namespace Owner" or "Can Edit" roles assigned there.kubectl auth can-i to verify access after role assignment.kubectl get pods -n <namespace>) rather than attempting cluster-wide queries.