This topic explains how to install and initialize the Tanzu command line interface (CLI) on a bootstrap machine. The bootstrap machine is the laptop, host, or server that you deploy management and workload clusters from and that keeps Tanzu and Kubernetes configuration files for your deployments. The bootstrap machine is typically local, but it can also be a physical machine or VM that you access remotely.
If you intend to use Tanzu Kubernetes Grid on vSphere without a Supervisor, or on AWS or Azure, you use the Tanzu CLI to create a standalone management cluster on each cloud provider that you use. The Tanzu CLI communicates with this management cluster to create and manage workload clusters on your target cloud infrastructure.
NoteThe instructions in this topic are specific to installing the Tanzu CLI in order to deploy standalone management clusters on vSphere without a Supervisor, or on AWS or Azure. If you are installing the Tanzu CLI for use with a vSphere with Tanzu Supervisor on vSphere 8, see the corresponding topic in Creating and Managing TKG 2.2 Workload Clusters with the Tanzu CLI, Install the Tanzu CLI and Other Tools for Use with a vSphere with Tanzu Supervisor.
For more information about the Tanzu CLI, including a command reference, see the VMware Tanzu CLI documentation.
The bootstrap machine on which you install and run the Tanzu CLI must meet certain requirements. There are further requirements depending on whether you intend to use the Tanzu CLI with a vSphere with Tanzu Supervisor as the management cluster, or deploy standalone management clusters, or both.
To run the Tanzu CLI with Tanzu Kubernetes Grid v2.2, you need a bootstrap machine on which to install and run the Tanzu CLI that has:
If your bootstrap machine runs Windows, VMware recommends installing Windows Subsystem for Linux (WSL) with Ubuntu 20.04.4 LTS, which enables you to run Linux commands on Windows. For more information about WSL, see Install WSL in the Microsoft documentation.
On VMware Cloud on AWS and Azure VMware Solution, the bootstrap machine must be a cloud VM, not a local physical machine. See Prepare to Deploy Management Clusters to a VMware Cloud Environment for setup instructions.
To deploy standalone management clusters, there are additional requirements depending on which operating system the bootstrap machine is running:
kind
container. See Settings for Docker Desktop in the kind
documentation.apt
instead of snap
to install Docker from a CLI. For instructions on installing the Docker client app in an internet-restricted environment, see Prepare an Internet-Restricted Environment.docker
user group. Create the group if it does not already exist. This lets the Tanzu CLI access the Docker socket, which is owned by the root
user. For more information, see the Manage Docker as a non-root user in the Docker documentation.If your bootstrap machine has a Linux kernel built after the May 2021 Linux security patch, you must enable kind
, which the Tanzu CLI uses to create the local bootstrap cluster, to write to a control file that recent Linux versions made read-only by default.
How you change this file permission depends on your Linux distribution. For example, with a Fedora distribution of Linux 5.11 and 5.12, run:
sudo sysctl net/netfilter/nf_conntrack_max=131072
With a Debian distribution, add nf_conntrack_max=131072
to the sysctl.conf
file and run:
sudo modprob nf_conntrack
If you are troubleshooting as described in Use an Existing Bootstrap Cluster to Deploy and Delete Management Clusters, you must use kind
v0.11 or later to create the pre-existing and persistent bootstrap cluster.
kind
container. See Settings for Docker Desktop in the kind
documentation.If your bootstrap machine runs Windows Subsystem for Linux and it has a Linux kernel built after the May 2021 Linux security patch, for example Linux 5.11 and 5.12 with Fedora, run the following:
sudo sysctl net/netfilter/nf_conntrack_max=131072
This lets kind
, which the tanzu
CLI uses to create the local bootstrap cluster, write to a control file that recent Linux versions made read-only by default.
If you are troubleshooting as described in Use an Existing Bootstrap Cluster to Deploy and Delete Management Clusters, you must use kind
v0.11 or later to create the pre-existing and persistent bootstrap cluster.
Download the files for the compatible version of the Tanzu CLI from the Tanzu Kubernetes Grid downloads page.
Go to VMware Customer Connect and log in with your VMware Customer Connect credentials.
In the VMware Tanzu Kubernetes Grid row, click Go to Downloads.
In the Select Version drop-down, select 2.2.0.
Under Product Downloads, scroll to the section labeled VMware Tanzu CLI 2.2.0 CLI.
(Optional) Verify that your downloaded files are unaltered from the original. VMware provides a SHA-1, a SHA-256, and an MD5 checksum for each download. To obtain these checksums, click Read More under the entry that you want to download. For more information, see Using Cryptographic Hashes.
On your system, create a new directory named tanzu
. If you previously unpacked artifacts for previous releases to this folder, delete the folder’s existing contents.
In the tanzu
folder, unpack the Tanzu CLI bundle file for your operating system. To unpack the bundle file, use the extraction tool of your choice. For example, on Linux or macOS, you can use the tar
command.
tar -xvf tanzu-cli-bundle-darwin-amd64.tar.gz
tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz
tanzu-cli-bundle-windows-amd64.zip
.
After you unpack the bundle file, in your tanzu
folder, you will see a cli
folder with multiple subfolders and files.
After you have downloaded and unpacked the Tanzu CLI on your bootstrap machine, you must make it available to the system.
Navigate to the cli
subfolder under the tanzu
folder that you unpacked in the previous section.
cd cli
Make the CLI available to the system:
/usr/local/bin
:
sudo install core/v0.29.0/tanzu-core-darwin_amd64 /usr/local/bin/tanzu
/usr/local/bin
:
sudo install core/v0.29.0/tanzu-core-linux_amd64 /usr/local/bin/tanzu
Program Files\tanzu
folder.cli
folder, locate and copy the core\v0.29.0\tanzu-core-windows_amd64.exe
file into the new Program Files\tanzu
folder.tanzu-core-windows_amd64.exe
to tanzu.exe
.tanzu
folder, select Properties > Security, and make sure that your user account has the Full Control permission.env
.Path
row under System variables, and click Edit.tanzu
CLI.At the command line in a new terminal, initialize the Tanzu CLI:
tanzu init
Check that the correct version of the CLI is properly installed. The CLI version is the same as the current version of Tanzu Framework, which is included in the Tanzu CLI. Tanzu Kubernetes Grid 2.2 uses Tanzu CLI v0.29.0, which is in Tanzu Framework v0.29.0:
tanzu version
If you are running on macOS, you might encounter the following error:
"tanzu" cannot be opened because the developer cannot be verified.
If this happens, you need to create a security exception for the tanzu
executable. Locate the tanzu
app in Finder, control-click the app, and select Open.
After you have installed the tanzu
core executable, you must install the CLI plugins that enable workload cluster and package operations.
(Optional) Remove existing plugins from any previous CLI installations.
tanzu plugin clean
Navigate to the tanzu
folder that contains the cli
folder.
Run the following command from the tanzu
directory to install all the plugins for this release.
tanzu plugin sync
Check plugin installation status.
tanzu plugin list
If successful, you should see a list of all installed plugins. For example:
Standalone Plugins
NAME DESCRIPTION TARGET DISCOVERY VERSION STATUS
isolated-cluster isolated-cluster operations default v0.29.0 installed
login Login to the platform default v0.29.0 installed
pinniped-auth Pinniped authentication operations (usually not directly invoked) default v0.29.0 installed
management-cluster Kubernetes management-cluster operations kubernetes default v0.29.0 installed
package Tanzu package management kubernetes default v0.29.0 installed
secret Tanzu secret management kubernetes default v0.29.0 installed
telemetry Configure cluster-wide telemetry settings kubernetes default v0.29.0 installed
NoteAfter you have installed the Tanzu CLI but before you have used it to log in to a management cluster, all context-specific CLI command groups (
tanzu cluster
,tanzu kubernetes-release
) are unavailable and not included in Tanzu CLI--help
output.
Download and unpack the Kubernetes CLI, kubectl
, on your bootstrap machine, then make it available to your system.
Go to VMware Customer Connect and log in with your VMware Customer Connect credentials.
In the VMware Tanzu Kubernetes Grid row, click Go to Downloads.
In the Select Version drop-down, select 2.2.0.
Under Product Downloads, scroll to the section labeled Kubectl 1.25.7 for VMware Tanzu Kubernetes Grid 2.2.0.
(Optional) Verify that your downloaded files are unaltered from the original. VMware provides a SHA-1, a SHA-256, and an MD5 checksum for each download. To obtain these checksums, click Read More under the entry that you want to download. For more information, see Using Cryptographic Hashes.
Navigate to the tanzu
directory you created in Download and Unpack the Tanzu CLI above and unpack the kubectl
binary for your operating system. To unpack the bundle file, use the extraction tool of your choice. For example, the gunzip
command.
gunzip kubectl-mac-v1.25.7+vmware.2.gz
gunzip kubectl-linux-v1.25.7+vmware.2.gz
kubectl-windows-v1.25.7+vmware.2.exe.gz
.
Make the CLI available to the system:
Make the downloaded file executable:
chmod ugo+x kubectl-mac-v1.25.7+vmware.2
Install the binary to /usr/local/bin
:
sudo install kubectl-mac-v1.25.7+vmware.2 /usr/local/bin/kubectl
Run kubectl version
to check that the correct version of kubectl
is installed and executable.
kubectl version
Make the downloaded file executable:
chmod ugo+x kubectl-linux-v1.25.7+vmware.2
Install the binary to /usr/local/bin
:
sudo install kubectl-linux-v1.25.7+vmware.2 /usr/local/bin/kubectl
Run kubectl version
to check that the correct version of kubectl
is installed and executable.
kubectl version
Program Files\kubectl
folder.kubectl-windows-v1.25.7+vmware.2.exe
file into the new Program Files\kubectl
folder.kubectl-windows-v1.25.7+vmware.1.exe
to kubectl.exe
.kubectl
folder, select Properties > Security, and make sure that your user account has the Full Control permission.env
.Path
row under System variables and click Edit.kubectl
CLI.Run kubectl version
to check that the correct version of the CLI is properly installed.
Run tanzu --help
to see the list of commands that the Tanzu CLI provides.
You can view help text for any command group with the --help
option to see information about that specific command or command group. For example, tanzu login --help
, tanzu management-cluster --help
, or tanzu management-cluster create --help
.
For more information about the Tanzu CLI, see the Tanzu CLI Command Reference.
The Carvel open-source project provides a set of reliable, single-purpose, composable tools that aid in application building, configuration, and deployment to Kubernetes.
Tanzu Kubernetes Grid provides signed binaries for ytt
, kapp
, kbld
, and imgpkg
, that are bundled with the Tanzu CLI. The bundle also includes vendir
, a Kubernetes directory structure tool, that is not currently required by end users, but is provided for convenience.
Navigate to the location on your bootstrap environment machine where you unpacked the Tanzu CLI bundle tar file for your OS.
For example, the tanzu
folder, that you created in the previous procedure.
Open the cli
folder.
cd cli
ytt
ytt
is a command-line tool for templating and patching YAML files. You can also use ytt
to collect fragments and piles of YAML into modular chunks for easy re-use. Tanzu Kubernetes Grid uses ytt
to support overlay-based customization for clusters and cluster plans. You might need ytt
to use customization overlays.
Unpack the ytt
binary and make it executable.
gunzip ytt-darwin-amd64-v0.43.1+vmware.1.gz
chmod ugo+x ytt-darwin-amd64-v0.43.1+vmware.1
Move the binary to /usr/local/bin
and rename it to ytt
:
sudo mv ./ytt-darwin-amd64-v0.43.1+vmware.1 /usr/local/bin/ytt
Run ytt --version
to check that the correct version of ytt
is installed and executable.
ytt --version
Unpack the ytt
binary and make it executable.
gunzip ytt-linux-amd64-v0.43.1+vmware.1.gz
chmod ugo+x ytt-linux-amd64-v0.43.1+vmware.1
Move the binary to /usr/local/bin
and rename it to ytt
:
sudo mv ./ytt-linux-amd64-v0.43.1+vmware.1 /usr/local/bin/ytt
Run ytt --version
to check that the correct version of ytt
is installed and executable.
ytt --version
Unpack the the ytt
binary.
gunzip ytt-windows-amd64-v0.43.1+vmware.1.gz
Rename ytt-windows-amd64-v0.43.1+vmware.1
to ytt.exe
Program Files\ytt
folder and copy the ytt.exe
file into it.ytt
folder, select Properties > Security, and make sure that your user account has the Full Control permission.env
.Path
row under System variables, and click Edit.ytt
tool.ytt version
to check that the correct version of ytt
is properly installed.kapp
kapp
is the applications deployment CLI for Kubernetes. It allows you to install, upgrade, and delete multiple Kubernetes resources as one application.
Unpack the kapp
binary and make it executable.
gunzip kapp-darwin-amd64-v0.53.2+vmware.1.gz
chmod ugo+x kapp-darwin-amd64-v0.53.2+vmware.1
Move the binary to /usr/local/bin
and rename it to kapp
:
sudo mv ./kapp-darwin-amd64-v0.53.2+vmware.1 /usr/local/bin/kapp
Run kapp --version
to check that the correct version of kapp
is installed and executable.
kapp --version
Unpack the kapp
binary and make it executable.
gunzip kapp-linux-amd64-v0.53.2+vmware.1.gz
chmod ugo+x kapp-linux-amd64-v0.53.2+vmware.1
Move the binary to /usr/local/bin
and rename it to kapp
:
sudo mv ./kapp-linux-amd64-v0.53.2+vmware.1 /usr/local/bin/kapp
Run kapp --version
to check that the correct version of kapp
is installed and executable.
kapp --version
Unpack the the kapp
binary.
gunzip kapp-windows-amd64-v0.53.2+vmware.1.gz
Rename kapp-windows-amd64-v0.53.2+vmware.1
to kapp.exe
Program Files\kapp
folder and copy the kapp.exe
file into it.kapp
folder, select Properties > Security, and make sure that your user account has the Full Control permission.env
.Path
row under System variables, and click Edit.kapp
tool.kapp version
to check that the correct version of kapp
is properly installed.kbld
kbld
is an image-building and resolution tool.
Unpack the kbld
binary and make it executable.
gunzip kbld-darwin-amd64-v0.35.1+vmware.1.gz
chmod ugo+x kbld-darwin-amd64-v0.35.1+vmware.1
Move the binary to /usr/local/bin
and rename it to kbld
:
sudo mv ./kbld-darwin-amd64-v0.35.1+vmware.1 /usr/local/bin/kbld
Run kbld --version
to check that the correct version of kbld
is installed and executable.
Unpack the kbld
binary and make it executable.
gunzip kbld-linux-amd64-v0.35.1+vmware.1.gz
chmod ugo+x kbld-linux-amd64-v0.35.1+vmware.1
Move the binary to /usr/local/bin
and rename it to kbld
:
sudo mv ./kbld-linux-amd64-v0.35.1+vmware.1 /usr/local/bin/kbld
Run kbld --version
to check that the correct version of kbld
is installed and executable.
kbld --version
Unpack the the kbld
binary.
gunzip kbld-windows-amd64-v0.35.1+vmware.1.gz
Rename kbld-windows-amd64-v0.35.1+vmware.1
to kbld.exe
Program Files\kbld
folder and copy the kbld.exe
file into it.kbld
folder, select Properties > Security, and make sure that your user account has the Full Control permission.env
.Path
row under System variables, and click Edit.kbld
tool.kbld version
to check that the correct version of kbld
is properly installed.imgpkg
imgpkg
is a tool that enables Kubernetes to store configurations and the associated container images as OCI images, and to transfer these images. imgpkg
is required for deploying Tanzu Kubernetes Grid in Internet-restricted environments and when building your own machine images. It is also required when configuring the Harbor package.
Unpack the imgpkg
binary and make it executable.
gunzip imgpkg-darwin-amd64-v0.31.1+vmware.1.gz
chmod ugo+x imgpkg-darwin-amd64-v0.31.1+vmware.1
Move the binary to /usr/local/bin
and rename it to imgpkg
:
sudo mv ./imgpkg-darwin-amd64-v0.31.1+vmware.1 /usr/local/bin/imgpkg
Run imgpkg --version
to check that the correct version of imgpkg
is installed and executable.
imgpkg --version
Unpack the imgpkg
binary and make it executable.
gunzip imgpkg-linux-amd64-v0.31.1+vmware.1.gz
chmod ugo+x imgpkg-linux-amd64-v0.31.1+vmware.1
Move the binary to /usr/local/bin
and rename it to imgpkg
:
sudo mv ./imgpkg-linux-amd64-v0.31.1+vmware.1 /usr/local/bin/imgpkg
Run imgpkg --version
to check that the correct version of imgpkg
is installed and executable.
imgpkg --version
Unpack the the imgpkg
binary.
gunzip imgpkg-windows-amd64-v0.31.1+vmware.1.gz
Rename imgpkg-windows-amd64-v0.31.1+vmware.1
to imgpkg.exe
Program Files\imgpkg
folder and copy the imgpkg.exe
file into it.imgpkg
folder, select Properties > Security, and make sure that your user account has the Full Control permission.env
.Path
row under System variables, and click Edit.imgpkg
tool.imgpkg version
to check that the correct version of imgpkg
is properly installed.To deploy standalone management clusters to your cloud provider, follow the instructions in Deploying Standalone Management Clusters.