This document describes the first part of the installation process for Tanzu Application Platform:
The following are required to install Tanzu Application Platform:
Installation requires:
-
A Tanzu Network account to download Tanzu Application Platform packages
-
A container image registry, such as Harbor or Docker Hub with at least 10 GB of available storage for application images, base images, and runtime dependencies
-
Registry credentials with push and write access made available to Tanzu Application Platform to store images
-
Registry credentials for components that pull and read public images from Docker Hub to avoid rate limiting
-
Network access to https://registry.tanzu.vmware.com
-
Network access to your chosen container image registry
-
Latest version of Chrome, Firefox, or Edge
Note:
- Tanzu Application Platform GUI currently does not support Safari browser.
Installation requires:
-
Kubernetes cluster v1.19 or later on one of the following Kubernetes providers:
- Azure Kubernetes Service
- Amazon Elastic Kubernetes Service
- Google Kubernetes Engine
- kind
- Supported only on Linux operating system.
- Minimum requirements: 8 CPUs for i9 or equivalent, 12 CPUs for i7 or equivalent, 8 GB RAM (12+ GB recommended), and 120 GB disk space.
- If you are using Cloud Native Runtimes, see Configure Your Local Kind Cluster.
- Google Kubernetes Engine (GKE Autopilot clusters do not have required features enabled)
- minikube
- Minimum requirements for VM: 8 CPUs for i9 or equivalent, 12 CPUs for i7 or equivalent, 8 GB RAM (12+ GB recommended), and 120 GB disk space.
- VMware recommends at least 16 GB of total host memory.
- On Mac OS only hyperkit driver is supported. Docker driver is not supported.
- Tanzu Kubernetes Grid v1.4
- Do not use a Tanzu Kubernetes Grid cluster that runs production workloads.
- To install Tanzu Application Platform on Tanzu Kubernetes Grid v1.4, see Installing with Tanzu Kubernetes Grid v1.4.
- Tanzu Community Edition x.x
- Please visit the Tanzu Community Edition installation page to follow installation instructions. Tanzu Community Edition
To deploy all Tanzu Application Platform packages, your cluster must have at least 8 GB of RAM across all nodes available to Tanzu Application Platform. At least 8 CPUs for i9 or equivalent, or 12 CPUs for i7 or equivalent must be available to Tanzu Application Platform components. VMware recommends that at least 16 GB of RAM is available to build and deploy applications, including for kind and minikube.
Your cluster must support the creation of Services of type
LoadBalancer
to install Cloud Native Runtimes package. The exception isprovider: local
installation, which removes container replication and usesNodePort
Services for HTTP ingress. For information about services of typeLoadBalancer
, see the Kubernetes documentation and your cloud provider documentation. For information about Tanzu Kubernetes Grid support for Service typeLoadBalancer
, see Install VMware NSX Advanced Load Balancer on a vSphere Distributed Switch.Your cluster must also have at least 70 GB of disk per node.
-
Pod Security Policies must be configured so that Tanzu Application Platform controller pods can run as root.
Installation requires:
-
kapp Carvel command line tool v0.37.0 or later
-
The Kubernetes CLI, kubectl, v1.19, v1.20 or v1.21, installed and authenticated with administrator rights for your target cluster. See Install Tools in the Kubernetes documentation.
-
To set the Kubernetes cluster context:
-
List the existing contexts by running:
kubectl config get-contexts
For example:
$ kubectl config get-contexts CURRENT NAME CLUSTER AUTHINFO NAMESPACE aks-repo-trial aks-repo-trial clusterUser_aks-rg-01_aks-repo-trial * aks-tap-cluster aks-tap-cluster clusterUser_aks-rg-01_aks-tap-cluster tkg-mgmt-vc-admin@tkg-mgmt-vc tkg-mgmt-vc tkg-mgmt-vc-admin tkg-vc-antrea-admin@tkg-vc-antrea tkg-vc-antrea tkg-vc-antrea-admin
-
Set the context to the cluster that you want to use for the Tanzu Application Platform packages install. For example set the context to the
aks-tap-cluster
context by running:kubectl config use-context aks-tap-cluster
For example:
$ kubectl config use-context aks-tap-cluster Switched to context "aks-tap-cluster".
-
-
kapp-controller v0.29.0 or later:
Note:
-
If you are using Tanzu Kubernetes Grid v1.4, see Install kapp-controller.
-
If you are using Tanzu Community Edition , see Install kapp-controller.
-
Install kapp-controller by running:
kapp deploy -y -a kc -f https://github.com/vmware-tanzu/carvel-kapp-controller/releases/download/KC-VERSION/release.yml
Where
KC-VERSION
is the kapp-controller version being installed.Select v0.29.0+ kapp-controller version for Azure Kubernetes Service, Amazon Elastic Kubernetes Service, Google Kubernetes Engine, kind, and minikube from the Releases page.
For example:
kapp deploy -y -a kc -f https://github.com/vmware-tanzu/carvel-kapp-controller/releases/download/v0.29.0/release.yml
-
Verify kapp-controller is running by running:
kubectl get pods -A | grep kapp-controller
Pod status should be Running.
-
(Optional) Verify installed kapp-controller version:
-
Get kapp-controller deployment and namespace by running:
kubectl get deployments -A | grep kapp-controller
For example:
kubectl get deployments -A | grep kapp-controller NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE kapp-controller kapp-controller 1/1 1 1 25h
-
Get kapp controller version by running:
kubectl get deployment KC-DEPLOYMENT -n KC-NAMESPACE -o yaml | grep kapp-controller.carvel.dev/version
Where
KC-DEPLOYMENT
andKC-NAMESPACE
are kapp-controller deployment name and kapp-controller namespace name respectively from the output of step 1.For example:
kubectl get deployment kapp-controller -n kapp-controller -o yaml | grep kapp-controller.carvel.dev/version kapp-controller.carvel.dev/version: v0.29.0 kapp.k14s.io/original: '{"apiVersion":"apps/v1","kind":"Deployment","metadata":{"annotations":{"kapp-controller.carvel.dev/version":"v0.29.0","kbld.k14s.io/images":"-
-
-
-
secretgen-controller:
-
Install secretgen-controller by running:
kapp deploy -y -a sg -f https://github.com/vmware-tanzu/carvel-secretgen-controller/releases/download/SG-VERSION/release.yml
Where
SG-VERSION
is the secretgen-controller version being installed. Select v0.6.0+ secretgen-controller version from the Releases page.For example:
kapp deploy -y -a sg -f https://github.com/vmware-tanzu/carvel-secretgen-controller/releases/download/v0.6.0/release.yml
-
Verify secretgen-controller is running by running:
kubectl get pods -A | grep secretgen-controller
Pod status should be Running.
-
(Optional) Verify the secretgen-controller version you installed:
-
Get secretgen-controller deployment and namespace by running:
kubectl get deployments -A | grep secretgen-controller
For example:
kubectl get deployments -A | grep secretgen-controller NAMESPACE NAME READY UP-TO-DATE AVAILABLE AGE secretgen-controller secretgen-controller 1/1 1 1 22d
-
Get secretgen-controller version by running:
kubectl get deployment SG-DEPLOYMENT -n SG-NAMESPACE -o yaml | grep secretgen-controller.carvel.dev/version
Where
SG-DEPLOYMENT
andSG-NAMESPACE
are secretgen-controller deployment name and secretgen-controller namespace name respectively from the output of step 1.For example:
kubectl get deployment secretgen-controller -n secretgen-controller -oyaml | grep secretgen-controller.carvel.dev/version secretgen-controller.carvel.dev/version: v0.6.0
-
-
Before you can install packages, you have to accept the End User License Agreements (EULAs).
To accept EULAs:
-
Sign in to Tanzu Network.
-
For each of the following components, accept or confirm that you have accepted the EULA:
- Tanzu Application Platform
- Tanzu Build Service and its associated components:
Choose the install scenario that is right for you:
- Instructions for a clean install of Tanzu CLI
- Instructions for updating Tanzu CLI that was installed for a previous Tanzu Application Platform release
- Instructions for updating Tanzu CLI that was previously installed for Tanzu Kubernetes Grid and Tanzu Community Edition
Follow the procedure for your OS:
To install the Tanzu CLI on a Linux operating system:
-
Create a local directory called
tanzu
.mkdir $HOME/tanzu
-
Sign in to Tanzu Network.
-
Navigate to Tanzu Application Platform on Tanzu Network.
-
Click on the
tanzu-cli-0.8.0
folder. -
Download
tanzu-framework-bundle-linux
and unpack the TAR file into thetanzu
directory:tar -xvf tanzu-framework-linux-amd64.tar -C $HOME/tanzu
-
Install the Tanzu CLI from the
tanzu
directory by running:cd $HOME/tanzu sudo install cli/core/v0.8.0/tanzu-core-linux_amd64 /usr/local/bin/tanzu
-
Confirm the installation of the Tanzu CLI by running:
tanzu version
Expect
version: v0.8.0
-
Proceed to Instructions for a clean install of Tanzu CLI Plugins.
To install the Tanzu CLI on a Mac operating system:
-
Create a local directory called
tanzu
.mkdir $HOME/tanzu
-
Sign in to Tanzu Network.
-
Navigate to Tanzu Application Platform on Tanzu Network.
-
Click on the
tanzu-cli-0.8.0
folder. -
Download
tanzu-framework-bundle-mac
and unpack the TAR file into thetanzu
directory:tar -xvf tanzu-framework-darwin-amd64.tar -C $HOME/tanzu
-
Install the Tanzu CLI from the
tanzu
directory by running:cd $HOME/tanzu sudo install cli/core/v0.8.0/tanzu-core-darwin_amd64 /usr/local/bin/tanzu
-
Confirm the installation of the Tanzu CLI by running:
tanzu version
Expect
version: v0.8.0
If you see the following warning when running
tanzu version
on macOS:"tanzu" cannot be opened because the developer cannot be verified
To resolve this error, do the following:
-
Click Cancel in the macOS prompt window.
-
Open the Security & Privacy control panel from System Preferences.
-
Click General.
-
Click Allow Anyway next to the warning message for the tanzu binary.
-
Enter your system username and password in the macOS prompt window to confirm the changes.
-
Execute the
tanzu version
command in the terminal window again. -
Click Open in the macOS prompt window.
After completing the steps above, there should be no more security issues while running Tanzu CLI commands.
-
-
Proceed to Instructions for a clean install of Tanzu CLI Plugins.
To install the Tanzu CLI on a Windows operating system:
-
Create a local directory called
tanzu-bundle
. -
Sign in to Tanzu Network.
-
Navigate to Tanzu Application Platform on Tanzu Network.
-
Click on the
tanzu-cli-0.8.0
folder. -
Download
tanzu-framework-bundle-windows
and unpack the TAR files into thetanzu-bundle
directory. -
Create a new
Program Files\tanzu
folder. -
In the unpacked CLI folder tanzu-bundle, locate and copy the
core/v0.8.0/tanzu-core-windows_amd64.exe
into the newProgram Files\tanzu
folder. -
Rename
tanzu-core-windows_amd64.exe
totanzu.exe
. -
Right-click the
tanzu
folder, select Properties > Security, and make sure that your user account has the Full Control permission. -
Use Windows Search to search for
env
. -
Select Edit the system environment variables, and click Environment Variables.
-
Select the Path row under System variables, and click Edit.
-
Click New to add a new row, and enter the path to the Tanzu CLI.
-
Confirm the installation of the Tanzu CLI by running in a terminal window:
tanzu version
Expect
version: v0.8.0
-
Proceed to Instructions for a clean install of Tanzu CLI Plugins
-
Run the following command from the
tanzu
directory:tanzu plugin install --local cli all
-
Check plugin installation status:
tanzu plugin list
Expect to see the following:
tanzu plugin list NAME LATEST VERSION DESCRIPTION REPOSITORY VERSION STATUS accelerator Manage accelerators in a Kubernetes cluster v0.4.1 installed apps Applications on Kubernetes v0.2.0 installed cluster v0.8.0 Kubernetes cluster operations core v0.8.0 installed kubernetes-release v0.8.0 Kubernetes release operations core v0.8.0 installed login v0.8.0 Login to the platform core v0.8.0 installed management-cluster v0.8.0 Kubernetes management cluster operations core v0.8.0 installed package v0.8.0 Tanzu package management core v0.8.0 installed pinniped-auth v0.8.0 Pinniped authentication operations (usually not directly invoked) core v0.8.0 installed secret v0.8.0 Tanzu secret management core v0.8.0 installed
-
You may now proceed with installing Tanzu Application Platform. For more information, see Installing Part II: Profiles.
Note regarding the output from
tanzu plugin list
: Thepackage
,secret
,accelerator
andapps
plugins are required to install or interact with the Tanzu Application Platform. The additional plugins you see in the list can be ignored (you will not need to use them to interact with Tanzu Application Platform).The Tanzu Application Platform beta product requires cluster-admin privileges. Running commands associated with the additional plugins can have unintended side-effects. VMware recommends against running
cluster
,kubernetes-release
,login
,management-cluster
andpinniped-auth
commands.
Instructions for updating Tanzu CLI that was installed for a previous Tanzu Application Platform release
If you'd like to the update the Tanzu CLI core and plugins you installed previously for Tanzu Application Platform Beta 2:
-
Create a directory named
tanzu
by running:mkdir $HOME/tanzu
-
Sign in to Tanzu Network.
-
Navigate to Tanzu Application Platform on Tanzu Network.
-
Click the tanzu-cli-0.8.0 directory.
-
Download the CLI bundle corresponding with your operating system. For example, if your client operating system is Linux, download the
tanzu-framework-linux-amd64.tar
bundle. -
Unpack the TAR file in the
tanzu
directory by running:tar -xvf tanzu-framework-linux-amd64.tar -C $HOME/tanzu
-
Navigate to the
tanzu
directory by running:cd $HOME/tanzu
-
Delete the
imagepullsecret
plugin (it will be replaced by a newsecret
plugin):tanzu plugin delete imagepullsecret
-
Run the following command from the tanzu directory to update core cli and the previously installed plugins:
tanzu update --local ./cli
Expect to see a user prompt - submit "y"
-
Manually install the new
secret
plugintanzu plugin install secret --local ./cli
-
Check installation status for Tanzu CLI Core
tanzu version
Expect
version: v0.8.0
-
Check installation status for Tanzu CLI Core
tanzu plugin list
Expect to see the following:
NAME LATEST VERSION DESCRIPTION REPOSITORY VERSION STATUS accelerator Manage accelerators in a Kubernetes cluster v0.4.1 installed apps Applications on Kubernetes v0.2.0 installed cluster v0.9.0 Kubernetes cluster operations core v0.8.0 upgrade available kubernetes-release v0.9.0 Kubernetes release operations core v0.8.0 upgrade available login v0.9.0 Login to the platform core v0.8.0 upgrade available management-cluster v0.9.0 Kubernetes management cluster operations core v0.8.0 upgrade available package v0.9.0 Tanzu package management core v0.8.0 upgrade available pinniped-auth v0.9.0 Pinniped authentication operations (usually not directly invoked) core v0.8.0 upgrade available secret v0.9.0 Tanzu secret management core v0.8.0 upgrade available
-
You may now proceed with installing Tanzu Application Platform via Installing Part II: Profiles.
Instructions for updating Tanzu CLI that was previously installed for Tanzu Kubernetes Grid and Tanzu Community Edition
If you'd like to maintain the Tanzu CLI core and plugins you installed previously for interacting with Tanzu Kubernetes Grid or Tanzu Community Edition, you only need to update/add the Tanzu Application Platform specific plugins as follows:
-
Create a directory named
tanzu
by running:mkdir $HOME/tanzu
-
Sign in to Tanzu Network.
-
Navigate to Tanzu Application Platform on Tanzu Network.
-
Click the tanzu-cli-0.8.0 directory.
-
Download the CLI bundle corresponding to your operating system. For example, if your client operating system is Linux, download the
tanzu-framework-linux-amd64.tar
bundle. -
Unpack the TAR file in the
tanzu
directory by running:tar -xvf tanzu-framework-linux-amd64.tar -C $HOME/tanzu
-
Navigate to the
tanzu
directory by running:cd $HOME/tanzu
-
Check to see if the
imagepullsecret
andpackage
plugins are already installed:tanzu plugin list
If either is present present, delete them by running:
tanzu plugin delete imagepullsecret
And/Or
tanzu plugin delete package
-
Install the
secret
plugin by running:tanzu plugin install secret --local ./cli
-
Install the
accelerator
plugin by running:tanzu plugin install accelerator --local ./cli
-
Install the
apps
plugin by running:tanzu plugin install apps --local ./cli
-
Install the updated
package
plugin by running:tanzu plugin install package --local ./cli
-
Verify the Tanzu Application Platform plugins present:
tanzu plugin list
Expect the following to be included in the list:
NAME LATEST VERSION DESCRIPTION REPOSITORY VERSION STATUS accelerator Manage accelerators in a Kubernetes cluster v0.4.1 installed apps Applications on Kubernetes v0.2.0 installed package v0.9.0 Tanzu package management core v0.8.0 upgrade available secret v0.9.0 Tanzu secret management core v0.8.0 upgrade available
-
You may now proceed with installing Tanzu Application Platform on Tanzu Kubernetes Grid or Tanzu Community Edition. For more information, see:
Now you are ready to proceed to Installing Part II: Profiles