In air-gapped (disconnected) environments, Tanzu CLI VKS plugins are not automatically available or pushed to the Supervisor cluster. As a result, users must manually download and provide the required plugin bundles by explicitly specifying the plugin names and versions in order to successfully install and use the Tanzu CLI with VKS.
If the required plugins are not available locally or in a configured internal repository, the following error is encountered when attempting to synchronize plugins:
tanzu plugin sync[i] Checking for required plugins...[x] : [unable to find plugin 'cluster' with version 'v3.4.1' for target 'kubernetes', unable to find plugin 'kubernetes-release' with version 'v3.4.1' for target 'kubernetes', unable to find plugin 'namespaces' with version 'v1.2.0' for target 'kubernetes', unable to find plugin 'package' with version 'v3.4.1' for target 'kubernetes', unable to find plugin 'secret' with version 'v3.4.1' for target 'kubernetes']
VMware vSphere Kubernetes Service
Starting with TKG Service 3.1.0 (introduced in vCenter Server 8.0 Update 3), VKS has transitioned to an asynchronous model. As part of this change, the automatic pushing of Tanzu CLI VKS plugin groups to the Supervisor cluster has been deprecated.
In air-gapped environments, users must now manually download and provide the required Tanzu CLI plugins. Additionally, with TKG Service 3.1.0 and later, Tanzu CLI version 1.3.0 or higher is required.
Step 1 — Identify the Required Plugin Versions
VKS plugin versions must match the corresponding VKS release version.
Step 2 — Download the Plugin Bundle
Run the following tanzu plugin download-bundle command, specifying each required plugin with its version and target scope:
Note: For VKS plugins, plugin versions must match the corresponding VKS version. The example below uses VKS v3.4.1 — replace the version numbers accordingly for other VKS.
tanzu plugin download-bundle --plugin pinniped-auth@global:v3.4.1,cluster@k8s:v3.4.1,kubernetes-release@k8s:v3.4.1,package@k8s:v3.4.1,secret@k8s:v3.4.1 --output /tmp/FILE-NAME.tar.gz
Step 3 — Transfer and Install the Plugin Bundle
Transfer the downloaded .tar.gz file to the air-gapped environment.
tanzu plugin upload-bundle --tar /tmp/FILE-NAME.tar.gz --to-repo registry.example.com/tanzu_cli/pluginstanzu plugin source update default --uri registry.example.com/tanzu_cli/plugins/plugin-inventory:latesttanzu plugin clean && tanzu plugin list