When relocating the Supervisor Service tkg.vsphere.vmware.com to a private container image registry, the Supervisor Cluster may remain stuck in the Configuring state.
This issue typically occurs due to reconciliation failures during Supervisor Service deployment or update, resulting from incorrect or incomplete private registry configuration details in the YAML manifest.
Administrators may observe repeated reconciliation attempts and error messages related to unsupported fetch templates.
You may observe the following symptoms:
The following errors appear in when you describe the package using command "kubectl describe pkgi tkg.vsphere.vmware.com -n vmware-system-supervisor-services"
Message: Error (see .status.usefulErrorMessage for details)
Status: True
Type: ReconcileFailed
Friendly Description: Reconcile failed: Error (see .status.usefulErrorMessage for details)
Last Attempted Version: 3.3.x
Observed Generation: 12
Useful Error Message: Fetching (1): Unsupported way to fetch templates
Version: 3.3.x
Events: <none>
Additional errors may include:
Error from server (NotFound): packageinstalls.packaging.carvel.dev "tkg.vsphere.vmware.com" not found
Error from server (NotFound): packageinstalls.packaging.carvel.dev "3.3.x" not found
Error message summary: Unsupported way to fetch templates
VMware vSphere Kubernetes Service
This issue occurs when the Supervisor Service YAML contains incorrect or incomplete information during relocation to a private registry.
Typical cause for the issue is incorrect YAML format, which will lead to a reconciliation failure with the error:“Fetching (1): Unsupported way to fetch templates.”
To resolve the issue, ensure the Supervisor Service tkg.vsphere.vmware.com is correctly relocated to your private registry and references the proper image bundle.
Step 1: Copy the Image to Your Private Registry
Use the imgpkg copy command to copy the Tanzu Kubernetes Grid Supervisor Service image to your private registry.
imgpkg copy --tar ./tkg-service-v3.3.#.tar --to-repo <private-registry-path>/tkg:3.3.3
Note: Replace <private-registry-path> with the actual path to your private image repository.
Step 2: Update the Service in vSphere UI
namespace: vmware-system-supervisor-services
template:
spec:
fetch:
- imgpkgBundle:
image: <private-registry-path>/tkg:3.3.#
Step 3: Validate Package Reference in Supervisor Context
kubectl get pkgi tkg.vsphere.vmware.com -o yamlConfirm the reference:
image: <private-registry-path>/tkg:3.3.2
For detailed guidance on relocating Supervisor Services to a private registry, refer to:
🔗 Relocate Supervisor Services to a Private Registry (Broadcom TechDocs)