Kubernetes is arguably one of the most important technologies to come about in the past few years in enterprise data center and cloud technologies. Since the release of vSphere 7.0, VMware has baked Kubernetes right into the ESXi hypervisor. VMware Tanzu is the umbrella product containing the entire family of Kubernetes products in the VMware portfolio. At VMworld 2021, VMware announced the release of VMware Tanzu Community Edition (TCE).

With the release of VMware Tanzu Community Edition, VMware is making VMware Tanzu-powered Kubernetes to everyone. What is Tanzu Community Edition, why is it important, and what features does it include?

What is VMware Tanzu Community Edition (TCE)?

While VMware Tanzu is the commercially available Kubernetes solution, VMware Tanzu Community Edition is a freely available version of VMware Tanzu that anyone can download and use anywhere. In fact, VMware Tanzu is released as open-source and has the same inner workings as its three commercially available counterparts, VMware Tanzu Basic, Standard, and Advanced editions. It is community-supported. Even though it is very young in its overall development lifecycle, you will already find rich community support for Tanzu Community Edition.

VMware Tanzu Community Edition

You might assume with a “free” edition of VMware Tanzu, there will be time-based limitations or a feature-limiting trial period that handicaps the solution after a time. However, VMware Tanzu Community Edition has no restrictions on its use. Also, users do not even have to sign-up with VMware to download the solution, which is also nice.

Instead, you can simply browse to the official VMware Tanzu Community Edition site to download the tools needed to begin provisioning your TCE clusters:

Tanzu Community Edition also does not require a full-blown hypervisor or cloud environment for use. Instead, you can install and configure the solution in just a few minutes on a local workstation environment. However, you can still make use of your favorite cloud environment of choice if you would rather deploy TCE outside of a local development environment.

Use cases for Tanzu Community Edition

VMware is targeting three official use cases with the Tanzu Community Edition (TCE) solution. These include:

Learning

With TCE, VMware is targeting environments used to learn Kubernetes and provision development environments. Of course, you may already be familiar with open-source Kubernetes learning and development solutions. These include the likes of Minikube and MicroK8s, to name a couple.

Like many learning environments and development environments, you want these to be easy to provision, easy to tear down, ephemeral, easy, and require as few resources as possible. While Minikube and others are great learning solutions and provide excellent platforms for many different use cases, these solutions are not based on production technologies outside of Kubernetes itself. In other words, you don’t hear someone running production workloads on Minikube.

Evaluating Tanzu Kubernetes

VMware Tanzu Community Edition provides an enterprise-grade Kubernetes solution that can be used for free and with no restrictions using the same technology used in production. So, there is no disparity between your learning, development, and production Kubernetes solution.

Using Tanzu

Your end goal does not have to be learning or evaluating. It can simply be to use Tanzu Community Edition for any number of purposes.

In addition to the use cases mentioned above, VMware is also targeting many different technical roles with the TCE solution. These include:

  • Cloud-native practitioners
  • DevOps
  • Developers
  • Platform and IT infrastructure operators
  • Site-reliability engineers (SREs)
  • Cloud-native ecosystem participants
  • Independent software vendors (ISVs).

Keep in mind these are only the officially stated use cases. As with any community-driven project, creative use cases always emerge as the technology is used and evolves.

Architecture components of Tanzu Community Edition (TCE)

VMware Tanzu Community Edition (TCE) architecture includes several components that allow provisioning the various TCE Kubernetes clusters deployed and managed with the solution. These various TCE components include:

  • Tanzu CLI
  • Managed Clusters
  • Standalone Clusters
  • Package management

Tanzu CLI

The Tanzu CLI is the primary command-line tool used to interact with VMware Tanzu Community Edition Clusters. Several different subcommands can be used with the tanzu command from the command line. We are issuing the tanzu command from a PowerShell command prompt on a Windows machine below.

As you can see there are many different subcommands, including:

  • cluster
  • conformance
  • diagnostics
  • kubernetes-release
  • management-cluster
  • package
  • standalone-cluster
  • completion
  • config
  • init
  • login
  • plugin
  • update
  • version

Running the VMware Tanzu Community Edition tanzu command line command in PowerShellRunning the VMware Tanzu Community Edition tanzu command line command in PowerShell

Managed clusters

The first way to deploy a Tanzu Community Edition cluster is using what is known as a Managed Cluster. The managed cluster is the preferred way to deploy Tanzu for production use. In this model, the workload clusters are deployed and managed using the management cluster.

The primary command for deploying the management cluster is:

Even if you are using the GUI deployment utility, as we will walk through in just a bit, you will see that the GUI is using this command in the background to deploy the TCE management cluster.

Using the tanzu management-cluster create command to create a TCE management clusterUsing the tanzu management-cluster create command to create a TCE management cluster

During the deployment of the management clusters in TCE, it does something unique. First, a bootstrap cluster is deployed that instantiates the management cluster. Then, the bootstrap cluster is created locally and is used to create the management cluster.

When the management cluster is provisioned successfully, all management objects transition to the management cluster from the bootstrap cluster. Then, all new clusters, such as any workload clusters, are created and managed with the management cluster.

This workflow is shown in the following diagram from the tanzucommunityedition.io site:

Workflow of bootstrap management and workload clustersWorkflow of bootstrap management and workload clusters

Standalone Clusters

The standalone cluster allows bootstrapping Tanzu Kubernetes clusters even faster, generally in 10 minutes or less without as many resources. In addition, it is an excellent option to learn and play around with Tanzu technologies. However, this cluster model is in the experimental stages, so it is not recommended for production workloads.

The difference in the standalone cluster creation process workflow is that the locally created bootstrap servers used to instantiate the standalone cluster do not pivot management objects into the standalone cluster. Instead, after the successful bootstrap of the standalone cluster, the bootstrap server is deleted.

As you can see below, the workflow is much simpler to instantiate the Tanzu Community Edition standalone clusters.

The workflow to instantiate Tanzu Community Edition standalone clustersThe workflow to instantiate Tanzu Community Edition standalone clusters

Suppose there is a need to perform management actions on the standalone cluster, such as deleting the cluster or scaling the workload cluster’s nodes. In that case, a temporary management cluster is created to perform these actions.

Package management

Using the Tanzu CLI commands, VMware has integrated a fully-featured open-source package management solution directly into Tanzu Community Edition, allowing the installation, upgrading, and deletion of software running on Tanzu clusters. The package management solution is the open-source project called kapp-controller, a custom resource that VMware refers to as a package repository. Packages are packaged up as a single bundle, called a package repository, and pushed up to the OCI-compliant registry.

Once the cluster is informed that a package repository exists, the kapp-controller pulls this down and makes packages available to the cluster, as shown below.

Overview of the TCE package management from the client-sideOverview of the TCE package management from the client-side

Deploying VMware Tanzu Community Edition (TCE)

For a quick walkthrough of how to deploy VMware Tanzu Community Edition, let’s see how to deploy TCE into a VMware vSphere environment. First, download the Tanzu Community Edition release at the official Tanzu Community Edition site, here: Download (tanzucommunityedition.io).

Download Tanzu Community Edition

Extract the file, and run the install.bat file in the package.

Running the installation of VMware Tanzu Community EditionRunning the installation of VMware Tanzu Community Edition

This install.bat file will install the Tanzu CLI tool. After the tool is installed, you can run the command to begin creating the management cluster. The command is:

Create the management cluster

The –ui switch tells the installer we want to use the GUI Tanzu Community Edition tool to configure the cluster. Choose the installation environment for TCE. Here, we are choosing the VMware vSphere option.

Selecting the environment to deploy the TCE management clusterSelecting the environment to deploy the TCE management cluster

The first step in the deployment process of the management cluster on vSphere is to connect to your vSphere environment. Enter the vCenter Server connection information and connect to the vSphere environment.

Connect to VMware vSphereConnect to VMware vSphere

Next, select the management cluster settings, such as the deployment and instance type, management cluster name, control plane endpoint provider, endpoint IP address, and worker node instance type.

Configuring the management cluster settingsConfiguring the management cluster settings

Next, you can optionally select the VMware NSX Advanced Load Balancer settings to configure. Again, this is an optional screen. You can simply leave the screen blank and proceed if you do not have an NSX Advanced Load Balancer in your environment.

Configure the NSX Advanced Load Balancer settingsConfigure the NSX Advanced Load Balancer settings

Next, configure the optional metadata for the cluster. You can leave this screen blank as well.

Configure optional metadata for the management clusterConfigure optional metadata for the management cluster

On the Resources screen, you configure the settings of the VMware vSphere environment, such as the VM folder, clusters, hosts, resource pools, datastore, etc.

Configure VMware vSphere resourcesConfigure VMware vSphere resources

Configure Kubernetes network settings for your management cluster, including the Network name for the vSwitch, cluster service CIDR, Cluster POD CIDR, and any proxy settings.

Configure Kubernetes network settingsConfigure Kubernetes network settings

You can next specify any Identity Management settings for OIDC or LDAPS. However, this configuration is optional.

Configure optional identity management settingsConfigure optional identity management settings

Select the OS image with Kubernetes. Here I am pointing to the Photon OS image that is downloaded from the VMware Customer Connect Portal for Tanzu Community Edition:

https://customerconnect.vmware.com/downloads/get-download?downloadGroup=TCE-090

Deploy the OVA appliance and convert the machine into a vSphere Template. The resulting template is selected in the OS Image screen below.

Select the OS Image for the TCE Kubernetes management cluster deploymentSelect the OS Image for the TCE Kubernetes management cluster deployment

On step 9, you can optionally enroll with Tanzu Mission Control.

Configure enrollment for Tanzu Mission ControlConfigure enrollment for Tanzu Mission Control

Click the Review Configuration button to proceed to finalize the configuration for the management cluster.

Ready to review the configurationReady to review the configuration

At the bottom of the Review screen, you will see the Deploy Management Cluster button. You can also alternatively copy the CLI command and run this from the command line.

Deploying the management cluster for TCEDeploying the management cluster for TCE

The Tanzu Community Edition management cluster deployment begins. As you can see below, the bootstrap cluster is first provisioned.

TCE deployment begins instantiating the boostrap clusterTCE deployment begins instantiating the boostrap cluster

The VMware vSphere Client shows the PhotonOS template cloning for the management cluster nodes.

Automatic cloning of the PhotonOS template during deploymentAutomatic cloning of the PhotonOS template during deployment

After a few minutes, you will see the deployment of Tanzu Community Edition management clusters on vSphere complete successfully.

The Tanzu Community Edition management cluster deployment completes successfullyThe Tanzu Community Edition management cluster deployment completes successfully

We can head back to the command line to verify a few things. To view the management cluster information, use the command:

This returns detailed output showing the details of the management cluster we just provisioned.

Viewing the management cluster information using the Tanzu CLIViewing the management cluster information using the Tanzu CLI

Deploy the Tanzu Community Edition Workload Cluster

Now that we have the management cluster deployed, we can begin the process to instantiate the workload cluster. To do that, we can simply copy the configuration file that was created for the management cluster, change the name of the Cluster and the IP address configured.

Configuring the YAML file for the workload clusterConfiguring the YAML file for the workload cluster

Then, from the command line, using the Tanzu CLI tool, we can begin the creation process for the workload cluster, using the command:

The filename “tce-workload.yaml” is the file name created after copying the management cluster YAML file.

Creating the workload cluster using the YAML file with the Tanzu CLICreating the workload cluster using the YAML file with the Tanzu CLI

How do we connect to the workload cluster? There are just a few commands to run for that. These include:

– verify we have connectivity to the workload cluster

Changing context and connecting to the Tanzu Community Edition workload clusterChanging context and connecting to the Tanzu Community Edition workload cluster

StarWind Backup Appliance (BA) is an industry-first all-NVMe backup appliance that provides unprecedented levels of backup and recovery speed. It comes as a tiny, pre-configured, ready-to-backup solution that eliminates the backup server storage bottleneck and fits even the strictest RTPO. Consisting of the best commodity hardware, your chosen hypervisor, and a StarWind SDS engine backed by 24/7/365 ProActive Support, StarWind BA ushers in a new age of a future-proof, eco-friendly, transparent, and reasonably priced backup infrastructure. Explore Backup Appliance from StarWind StarWind Backup Appliance Datasheet

Wrapping Up

Tanzu Community Edition (TCE) is an excellent platform for learning Kubernetes, development, DevOps, evaluating Tanzu, and using the platform to run workloads. It is a lightweight installation that only requires a few steps to deploy. As shown in this walkthrough, the process is made easier with the GUI utility deployed as part of the installation of the Tanzu CLI.

The production-ready version of VMware Tanzu Community Edition uses a management cluster to create and manage workload clusters. In addition, the Standalone Cluster provides an even faster option to get up and running with VMware Tanzu Community Edition. However, it is still in the experimental stages and is not recommended for running any production workloads at this time.

VMware Tanzu Community Edition will undoubtedly allow users of all types to get their hands on VMware Tanzu and it offers the advantage of working with the same version of Kubernetes that organizations use to run production workloads.

Back to blog