TKG 2.4 – Management cluster deployment – part 1

TKG 2.4 – Management cluster deployment – part 1

Before we can start the deployment of TKG Management Cluster there are a few prerequisities that needs to ba handled around two main topics:

  • Bootstrap Machine
  • Infrastructure – vSphere (7.0 or later), AWS, Azure, VMC or AVS.
Initial architecture of TKG environment.

Bootstrap Machine

Bootstrap Machine is required to initially host Cluster API that will take care of management cluster deployment. It could be a physical or a virtual machine, in my lab it’s obviously a VM. After bootstrapping the management cluster, the machine can be used to deploy and manage TKG workload clusters. Therefore, a set of components must be installed and prepared on that bootstrap machine which could be running Linux, Windows or MacOS system:

  • Docker is installed, if you are installing Tanzu Kubernetes Grid on Linux.
  • Docker Desktop is installed, if you are installing Tanzu Kubernetes Grid on macOS or Windows.
  • Minimum of 8 GB of memory is available for the containers used during the bootstrapping process (VMware recommends 16 GB).
  • IP network connectivity to the cloud provider and to the network to which the management cluster is going to be deployed.
  • A browser or remote access from a machine with a browser, if you intend to use the Tanzu Kubernetes Grid installer interface to deploy standalone management clusters. You can use the Tanzu CLI without a browser, but for first deployments, it is strongly recommended to use the installer interface.
  • Carvel tools are installed.
  • kubectl is installed.
  • Tanzu CLI is installed.

I’ve got an Ubuntu VM prepared with docker installed so let’s start with the installation of Tanzu CLI.

Note: Tanzu CLI Tanzu CLI binaries have been currently moved to this location – you won’t find it along with other Tanzu Kubernetes Grid binaries on VMware Customer Connect page, but there will ba a similar information with the link to proper location instead.

Once Tanzu CLI is downloaded on your bootstrap machine follow the steps listed below.

1.Extract Tanzu CLI and kubectl.

2. Verify kubectl was installed correctly.

3. (Optional) Enable autocompletion for kubectl: echo 'source <(kubectl completion bash)' >> ~/.bash_profile

4. Install Tanzu CLI.

Note: Starting from TKG 2.1 Carvel tools are installed automatically as part of Tanzu CLI

5. Initialize Tanzu CLI using tanzu init command.

Note: In the past Tanzu init was automatically installing some of the plugins including management-cluster plugin. Starting from TKG 2.3 they have to be installed separately as standalone plugins (using commands from step 7).

6. Enable autocompletion for Tanzu CLI using following command: echo 'source <(tanzu completion bash)' >> ~/.bash_profile

7. Veryfiy standalone plugins are not installed and install them.

Now they are installed separately as standalone plugins:

Infrastructure preparation:

1.Download OVA(s) for Management and future workload clusters.

Note: Management cluster in TKG 2.4 requires you to download the image with 1.27.5 version – either based on Ubunti – Ubuntu 2004 Kubernetes v1.27.5 OVA or Photon v3 Kubernetes v1.27.5 OVA.

2. Upload to vCenter and convert to a template.


Create folder for TKG VMs and Resource Pools if you want to limit resources allocated to TKG VMs. In my case I’m not going to use Resource Pools.

I don’t have any access to Azure or AWS. But if you want to deploy your management cluster in any of these clouds, review the requirements for AWS and Azure defined in VMware’s documentation.

That concludes the requirements and preparation of bootstrap machine. In part 2 I’ll guide you through the process of deploying Management Cluster.


Leave a Reply

Your email address will not be published. Required fields are marked *