This topic summarizes how to deploy a Tanzu Kubernetes Grid management cluster or designate one from vSphere with Tanzu. Deploying or designating a management cluster completes the Tanzu Kubernetes Grid installation process and makes Tanzu Kubernetes Grid operational.
After you have performed the steps described in Install the Tanzu CLI and Other Tools, you can deploy management clusters to the platforms of your choice.
Note: On vSphere with Tanzu, available on vSphere 7 and later, VMware recommends configuring the built-in Supervisor Cluster as a management cluster instead of using the
tanzu CLI to deploy a new management cluster. Deploying a Tanzu Kubernetes Grid management cluster to vSphere 7 when vSphere with Tanzu is not enabled is supported, but the preferred option is to enable vSphere with Tanzu and use the Supervisor Cluster. For details, see vSphere with Tanzu Provides Management Cluster.
The management cluster is a Kubernetes cluster that runs Cluster API operations on a specific cloud provider to create and manage workload clusters on that provider. The management cluster is also where you configure the shared and in-cluster services that the workload clusters use.
You can deploy management clusters in two ways:
You can deploy and manage Tanzu Kubernetes Grid management clusters on:
You can deploy the management cluster as either a single-node control plane, for development, or as a highly-available multi-node control plane, for production environments.
You deploy your management cluster by running the
tanzu mc create command on the bootstrap machine.
tanzu mc createwith the
--uioption launches the installer interface. If you specify this option, you configure the management cluster in the installer interface.
tanzu mc createwith the
--fileoption deploys the management cluster from a configuration file. Before running
tanzu mc create, you set configuration parameters, like
INFRASTRUCTURE_PROVIDER, in the cluster configuration file and then pass it to the
If you are creating the management cluster on Tanzu Kubernetes Grid v1.5.0, v1.5.1, v1.5.2, or v1.5.4, run the
tanzu plugin sync command to install Tanzu Kubernetes Grid plugins after the
tanzu mc create command completes successfully. This command installs the Tanzu Kubernetes Grid plugins.
You can also set configuration parameters as environment variables. If you set conflicting parameters, environment variables override configuration parameters set in the file passed to the
~/.config/tanzu/config.yaml, set by running
tanzu config set: Persist until you unset them by running
tanzu config unset.
tanzu mc create command uses these sources and inputs in the following order of increasing precedence:
~/.config/tanzu/tkg/providers/config_default.yaml: This file contains system defaults, and should not be changed.
--fileoption: The cluster configuration file, which defaults to
~/.config/tanzu/tkg/cluster-config.yaml. This file configures specific invocations of
tanzu mc create. Use different configuration files to save multiple configurations.
tanzu config set: The
~/.config/tanzu/config.yamlfile. These variables are applied to all
tanzucommands. Local environment variables override variables from
--uioption: Installer interface input. When you run
tanzu mc create --ui, the installer sets all management cluster configuration values from user input.
tanzu mc create creates a temporary management cluster using a Kubernetes in Docker (
kind) cluster on the bootstrap machine. After creating the temporary management cluster locally, Tanzu Kubernetes Grid uses it to provision the final management cluster in the platform of your choice.
In the process,
tanzu mc create creates or modifies CLI configuration and state files in the user’s home directory on the local bootstrap machine:
||Bill of Materials (BoM) files that list specific versions of all of the packages that Tanzu Kubernetes Grid requires when it creates a cluster with a specific OS and Kubernetes version. Tanzu Kubernetes Grid adds to this directory as new Tanzu Kubernetes release versions are published.||Add if not already present|
||Configuration template files for Cluster API, cloud providers, and other dependencies, organized with
||Add if not already present|
||Add if not first installation|
||Names, contexts, and certificate file locations for the management clusters that the Tanzu CLI knows about, and which is the current one. This file also lists discovery sources for Tanzu CLI plugins, environment variables set by
||Add new management cluster information and set it as
||Default cluster configuration file that the
Best practice is to use a configuration file unique to each cluster.
|Add empty file if not already present.|
||Cluster configuration file that
||List of configurations and locations for the Tanzu Kubernetes Grid core and all of its providers.||Add if not already present|
||Add if not already present|
||System-wide default configurations for providers.
Best practice is not to edit this file, but to change provider configs through
|Add if not already present|
||Add new management cluster info and set the cluster as the
||Configuration and state for the
||Add new management cluster name, context, and certificate info. Do not change current