This topic explains how to prepare Tanzu Kubernetes Grid (TKG) workload clusters before installing Tanzu packages on them. Tanzu packages are packaged services that extend workload cluster functionality.
Before you can install Tanzu packages to a workload cluster, you need to:
- Install the Carvel
imgpkg
tool on your workstation. - Add a package repository to the target cluster.
The sections below describe these steps.
Prerequisites
Before preparing to install Tanzu packages to a workload cluster as described below, you need:
- A Linux client or jump host on which the Tanzu CLI and Kubectl are installed. See Install the Tanzu CLI and Kubernetes CLI for Use with Standalone Management Clusters
- A running workload cluster as described in Creating Workload Clusters.
- The target workload cluster has sufficient storage to run the packages you install, as described in Storage Requirements for Tanzu Packages below.
Install Carvel imgpkg
The Carvel imgpkg
command (https://carvel.dev/imgpkg/) lets you browse package repositories.
To install Carvel imgpkg
:
-
Install
imgpkg
.wget -O- https://carvel.dev/install.sh > install.sh sudo bash install.sh
-
Verify installation:
imgpkg version imgpkg version 0.37.1
Add the Package Repository to the Cluster
Before you can install Tanzu packages to a cluster, you need to add the package repository from which the cluster downloads the package images.
The commands below refer to the Tanzu Standard package repository, which is distributed by VMware and contains the packages described in this publication. The Tanzu Standard repository is public, so you do not need to log in.
To add the package repository to a TKG workload cluster:
-
Log in to the target cluster with both the Tanzu CLI and Kubectl.
-
List the repository versions:
imgpkg tag list -i projects.packages.broadcom.com/tkg/packages/standard/repo
This command returns the available TKG package repository versions, for example:
Tags Name ... v2023.10.16 v2023.11.21 v2023.7.13 v2023.7.13_update.1 v2023.7.13_update.2 v2023.7.31_update.1 v2023.9.19 v2023.9.19_update.1 v2024.2.1 v2024.2.1_tmc.1 v2024.4.12 v2024.4.19 v2024.5.14 v2024.5.16 v2024.6.27 v2024.7.11 v2024.7.2 v2024.8.21 v2025.1.27 44 tags Succeeded
-
Add the package repository as follows, depending on your TKG deployment option:
Run the
tanzu package repository add
command as described in Add a Package Repository. -
Use Tanzu CLI or Kubectl commands to confirm that the repository object is created:
-
Tanzu CLI:
tanzu package repository list -A
This command returns output similar to the following:
NAMESPACE NAME SOURCE STATUS tkg-system tanzu-standard (imgpkg) projects.packages.broadcom.com/tkg/packages/standard/repo:v2025.1.27 Reconcile succeeded
-
kubectl:
kubectl get packagerepositories -A
This command returns output similar to the following:
NAMESPACE NAME AGE DESCRIPTION tkg-system tanzu-standard 24s Reconcile succeeded
-
-
Use Tanzu CLI or Kubectl commands to list the packages in the repository:
-
Tanzu CLI:
tanzu package repository list -A
This command returns a list of all available packages and their versions in the repository
tkg-system cert-manager.tanzu.vmware.com.1.7.2+vmware.3-tkg.1 cert-manager.tanzu.vmware.com 1.7.2+vmware.3-tkg.1 23h8m10s tkg-system cert-manager.tanzu.vmware.com.1.7.2+vmware.3-tkg.3 cert-manager.tanzu.vmware.com 1.7.2+vmware.3-tkg.3 23h8m10s ... --- tkg-system contour.tanzu.vmware.com.1.28.5+vmware.1-tkg.1 contour.tanzu.vmware.com 1.28.5+vmware.1-tkg.1 23h8m10s tkg-system contour.tanzu.vmware.com.1.29.1+vmware.1-tkg.1 contour.tanzu.vmware.com 1.29.1+vmware.1-tkg.1 23h8m10s
-
kubectl:
kubectl -n tkg-system get packages
This
kubectl
command returns a list of all available packages and their versions in the repository by querying the packages CRD. Refer to this list to determine which package versions you want to install.kubectl -n tkg-system get packages NAME PACKAGEMETADATA NAME VERSION AGE cert-manager.tanzu.vmware.com.1.1.0+vmware.1-tkg.2 cert-manager.tanzu.vmware.com 1.1.0+vmware.1-tkg.2 4h39m13s cert-manager.tanzu.vmware.com.1.1.0+vmware.2-tkg.1 cert-manager.tanzu.vmware.com 1.1.0+vmware.2-tkg.1 4h39m13s ... --- contour.tanzu.vmware.com.1.17.1+vmware.1-tkg.1 contour.tanzu.vmware.com 1.17.1+vmware.1-tkg.1 4h39m12s contour.tanzu.vmware.com.1.17.2+vmware.1-tkg.2 contour.tanzu.vmware.com 1.17.2+vmware.1-tkg.2 4h39m12s ...
-
Storage Requirements for Tanzu Packages
The TKG workload cluster where you deploy a Tanzu package should be provisioned with a default storage class. Specifically, the Prometheus and Grafana packages require a default storage class.
Component | Tanzu Package | Default Storage Size |
---|---|---|
Grafana | Grafana | 8 Gi |
Prometheus Server | Prometheus | 8 Gi |
Alertmanager | Prometheus | 8 Gi |
Harbor | Harbor Registry | Varies by PVC |
To adjust the storage limit for the vSphere Namespace where the TKG cluster is provisioned:
- Using the vSphere Client, log in to vCenter Server.
- Select the vSphere Namespace where the target Tanzu Kubernetes cluster is provisioned.
- Select Configure > Resource Limits.
- Click Edit.
- Adjust the Storage limit so that it is larger than the total size of the persistent volume claims required for the Prometheus and Grafana extensions.
Next Step
Proceed with installing the Tanzu Packages, starting with Cert Manager. See Install Cert Manager for Certificate Management.
Content feedback and comments