Manually downloading and uploading VKS plugins for Tanzu CLI Core in air-gapped environment
search cancel

Manually downloading and uploading VKS plugins for Tanzu CLI Core in air-gapped environment

book

Article ID: 435070

calendar_today

Updated On:

Products

VMware vSphere Kubernetes Service

Issue/Introduction

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']

Environment

VMware vSphere Kubernetes Service

Cause

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.

Resolution

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/plugins
tanzu plugin source update default --uri registry.example.com/tanzu_cli/plugins/plugin-inventory:latest
tanzu plugin clean && tanzu plugin list