
Prerequisites
DNS Records
Tanzu Learning Center allocates a wildcard subdomain for your workshops and content. This wildcard should be pointed at the external IP address of the tanzu-system-ingress’s envoy service.
Kubernetes cluster requirements
Installation requires:
- Kubernetes cluster versions 1.20, 1.21, or 1.22 on one of the following Kubernetes providers:
- Azure Kubernetes Service
- Amazon Elastic Kubernetes Service
- Google Kubernetes Engine
- GKE Autopilot clusters do not have required features enabled
- Minikube
- Reference the resource requirements below
- Hyperkit driver is supported on macOS only; Docker driver is not supported.
Resources requirements
- 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
- 8 CPUs for i9 (or equivalent) available to Tanzu Application Platform components
- 12 CPUs for i7 (or equivalent) available to Tanzu Application Platform components
- 12 GB of RAM is available to build and deploy applications, including Minikube. VMware recommends 16 GB of RAM for an optimal experience.
- 70 GB of disk space available per node
Tools and CLIs requirements
Installation requires:
- The Kubernetes CLI, kubectl, v1.20, v1.21 or v1.22, installed and authenticated with administrator rights for your target cluster. See Install Tools in the Kubernetes documentation.
- Set the context to the cluster that you want to use for the Learning Center packages install.
Accept the EULAs
Before installing packages, you have to accept the End User License Agreements (EULAs).
To accept EULAs:
- Sign in to Tanzu Network.
- Accept or confirm that you have accepted the EULA for Cluster Essentials for VMware Tanzu
Install Cluster Essentials for VMware Tanzu
- Sign in to Tanzu Network.
- Navigate to Cluster Essentials for VMware Tanzu on Tanzu Network.
- Download tanzu-cluster-essentials-darwin-amd64-1.0.0.tgz (for OS X) or tanzu-cluster-essentials-linux-amd64-1.0.0.tgz (for Linux) and unpack the TAR file into tanzu-cluster-essentials directory:
4. Configure and run install.sh, which installs kapp-controller and secretgen-controller on your cluster:
Where TANZU-NET-USER and TANZU-NET-PASSWORD are your credentials for Tanzu Network.
5. Install the kapp CLI onto your $PATH:
Install or update the Tanzu CLI and plug-ins
To install the Tanzu CLI on a Mac operating system:
- Create a directory named tanzu:
- Sign in to Tanzu Network.
- Navigate to Tanzu Application Platform on Tanzu Network.
- Click the tanzu-cli-v0.10.0 folder.
- Download tanzu-framework-bundle-mac and unpack the TAR file into the tanzu directory:
- Set env var TANZU_CLI_NO_INIT to true to assure the local downloaded versions of the CLI core and plug-ins are installed:
- Install the CLI core by running:
- Confirm installation of the CLI core by running:
Expected output: version: v0.10.0
Clean install Tanzu CLI plug-ins
To perform a clean installation of the Tanzu CLI plug-ins:
- If it hasn’t been done already, set env var TANZU_CLI_NO_INIT to true to assure the locally downloaded plug-ins are installed:
- From your tanzu directory, Install the local versions of the plug-ins you downloaded by running:
- Check the plug-in installation status by running:
Expect to see the following:
Ensure that you have the accelerator, apps, package, secret, and services plug-ins. You need these plug-ins to install and interact with the Tanzu Application Platform.
Tanzu Application Platform requires cluster-admin privileges. Running commands associated with the additional plug-ins can have unintended side effects. VMware recommends against running cluster, kubernetes-release, login, management-cluster, and pinniped-auth commands.
Install cert-manager and contour
cert-manager:
- List version information for the package by running:
Example:
- Create a cert-manager-rbac.yml and Apply the config.
For example:
Create a cert-manager-install.yml using below sample and Apply the config.
Where
VERSION-NUMBER is the version of the package listed in step 1.
For example:
Verify the package install by running:
For example:
Verify that STATUS is Reconcile succeeded
For example:
Verify that STATUS is Running
Contour:
- List version information for the package by running:
For example:
- Create a contour-rbac.yml using the below sample and apply the configuration.
- Apply the configuration by running:
- Create a contour-install.yml using the sample below and apply the configuration. The following configuration installs the contour package with default options. If you want to make changes to the default installation settings, go to the next step.
- Install the package by running:
- Verify the package install by running:
For example:
Verify that STATUS is Reconcile succeeded
Ensure that all pods are Running with all containers ready.
For example:
Ensure that all pods are Running with all containers ready.
- As cert-manager needs to be able to add records to Route53 in order to solve the DNS01 challenge, create a user with the following IAM policy and an access key for this user in AWS.
- Create the learningcenter namespace manually:
- Create a Kubernetes secret to store the credentials of AWS secret key & access key which later will be used by cert-manager in the learningcenter namespace:
- Create an issuer.yml for cert-manager using the sample below and apply it. Don’t forget to modify with your region, your AWS access key id, your email and your DNS domain.
- Create a certificate.yml for cert-manager using the sample below and apply it. Don’t forget to modify with your DNS domain.
- Wait until the certificate is issued successfully:
Verify that READY is True
Procedure to Install Learning Center
Learning Center Operator
- Create a learning-center-config.yml using the sample below. Modify with your DNS domain.
- Install Learning Center Operator by running:
You can check that the operator deployed successfully by running:
The pod for the operator should be marked as running.
Hello World workshop training portal
Sample workshop content using Markdown formatting for pages.
- Deploy the sample workshop
This will deploy a training portal hosting just this workshop.
- To get the URL for accessing the training portal run: