In this blog post, I am going to cover the new support for Tanzu Kubernetes Grid Management clusters on both VMware Cloud on AWS (VMC) and Azure VMware Solution (AVS). This functionality also allows the provisioning of new Tanzu Kubernetes workload clusters (TKC) to the relevant platform, provisioned by the lifecycle management controls within Tanzu Mission Control.
Below are the other blog posts I’ve wrote covering Tanzu Mission Control.
Below are the relevant release notes for the features I’ll cover. In this blog post, I’ll just be showing screenshots for a VMC environment, however the same applies to AVS as well.
What's New May 26, 2021
New Features and Improvements
(New Feature update): Tanzu Mission Control now supports the ability to register Tanzu Kubernetes Grid (1.3 & later) management clusters running in vSphere on Azure VMware Solution.
What's New April 30, 2021
New Features and Improvements
(New Feature update): Tanzu Mission Control now supports the ability to register Tanzu Kubernetes Grid (1.2 & later) management clusters running in vSphere on VMware Cloud on AWS. For a list of supported environments, see Requirements for Registering a Tanzu Kubernetes Cluster with Tanzu Mission Control in VMware Tanzu Mission Control Concepts.
This first management cluster deployment is not supported by TMC, nor is it supported for a management cluster to deploy workload clusters across platforms. For example, a management cluster running in AWS does not have the capability to deploy workload clusters to VMC or AVS or Azure.
When deploying Tanzu Kubernetes Grid to AWS, the deployment was failing with the following output:
unable to set up management cluster, : unable to wait for cluster and get the cluster kubeconfig: error waiting for cluster to be provisioned (this may take a few minutes): cluster creation failed, reason:'InstanceProvisionFailed @ Machine/tkg-aws-mgmt-control-plane-dqb4v', message:'1 of 2 completed'
It’s not uncommon for me to see the question asking for an explanation of VMware Tanzu Kubernetes terminology and differences between similar named products. As per the below tweet. This is my blog post to address the Tanzu Kubernetes terminology and use.
First, we’ll break down the high level names and products. Then move into Tanzu Kubernetes products.
What is VMware Tanzu?
VMware Tanzu is a brand name covering VMware’s modern applications suite of products, just like vRealize is the suite name for VMware’s cloud management products.
What products are covered by the VMware Tanzu brand?
This blog post will cover a technical walk-through on using Tanzu Mission Control to deploy Tanzu Kubernetes clusters to AWS.
The follow up blog posts in this series are:
Tanzu Mission Control
- Getting Started with TMC
- - What is Tanzu Mission Control?
- - Creating a Cluster Group
- - Attaching a cluster to Tanzu Mission Control
- - Viewing your Cluster Objects
- - Where can I demo/test/trial this myself?
- Cluster Inspections
- - What Inspections are available
- - Performing Inspections
- - Viewing Inspections
- Workspaces and Policies
- - Creating a workspace
- - Creating a managed Namespace
- - Policy Driven Cluster Management
- - Creating Policies
- Using the Data Protection feature for backups and restores
- - Data Protection Overview
- - Create a AWS Data Protection Credential
- - Enable Data Protection on a Cluster
- - Running a backup manually or via an automatic schedule
- - Restoring your data
Using the AWS Hosted Management Cluster
In this example, we will use the default provided AWS Hosted Management cluster.
Alternatively, you can use the Tanzu CLI to provision a TKG Management cluster into AWS and attach this to Tanzu Mission Control.
Currently it is not supported to have a Management Cluster manage clusters across platforms.
I.e. Management Cluster in AWS that manages workload clusters in Azure.
To get started:
Go to Administration
Click the Management Clusters Tab
Click on the “aws-hosted” cluster object name
Create a provisioner
The default tab when selecting the “aws-hosted” management cluster object is the provisioner tab.
Click create provisioner
Provide a name for the provisioner
You will be taken back to your provisioner object which is created. Using the radio button to select the object will allow you to delete it. No other action is available.
Once you have deployed your management cluster, you can deploy additional CNCF conformant Kubernetes clusters and manage their full lifecycle. These clusters are designed to run your application workloads, managed via your management cluster. These clusters canrun different Kubernetes versions as required. These clusters use Antrea networking by default.
These types of clusters are also referred to as “workload” clusters, or “guest” clusters, with the latter typically referring to the Tanzu Kubernetes Grid Service running in vSphere.
Deploying a Guest Cluster
Login to your Tanzu environment Management Cluster with the following:
Alternatively, we can use the existing YAML file in our ~/.tanzu/tkg/clusterconfigs folder used for the management cluster deployment and change a few settings to make it ready for our workload guest cluster.
This was my preferred method as it contained all my Azure settings already.
#Find existing cluster config file
ls -lh ~/.tanzu/tkg/clusterconfigs/
#Copy file to a new config
cp ~/.tanzu/tkg/clusterconfigs/6x4hl1wy8o.yaml tanzu-veducate-guest-azure.yaml
# Edit file = CLUSTER_NAME
# Workload cluster names must be 42 characters or less.