- Plan Your Installation
- Install Tanzu Community Edition
- Microsoft Azure
- Headless Installation
- AWS Account Reference
- AWS Workload Cluster Template
- vSphere Account Reference
- vSphere Workload Cluster Template
- Azure Account Reference
- Azure Workload Cluster Template
- Docker-based Clusters on Windows
- Work with Packages
Local Path Storage
- Run Conformance Tests
- Scale Management Cluster
- Scale Workload Cluster
- Delete Management Cluster
- Delete Workload Cluster
- Uninstall the Tanzu CLI
- Upgrade kapp-controller version
- Connect to Cluster Nodes with SSH
- Create Persistent Volumes with Storage Classes
- Set Up vSphere CNS and Create a Storage Policy in vSphere
- Enable Volume Expansion for vSphere CSI
- Secure automated ingress on AWS
- Opinionated installation package
- Monitoring with Prometheus and Grafana on vSphere
- Monitoring with Prometheus and Grafana on Docker
- LDAP Integration on vSphere and NSX-ALB
- Create a Package Example
- Troubleshoot Clusters
- File a Bug or Feature
- Our Triage Process
- Getting Support
The following section provides a glossary of the main components and concepts involved in a Tanzu Community Edition deployment.
Same as packages (see below).
The bootstrap (noun) machine is the laptop, host, or server on which you download and run the Tanzu CLI. This is where the initial bootstrapping (verb) of a management or standalone cluster occurs before it is pushed to the platform where it will run. You run tanzu, kubectl and other commands on the bootstrap machine.
Using the Tanzu CLI to deploy a cluster to a target platform is often referred to as bootstrapping (verb).
Cert-manager is a Kubernetes certificate manager. It helps with issuing certificates from a variety of sources. It simplifies the process of obtaining, renewing, and using certificates.
Same as packages (see below).
imgpkg is a Carvel tool that enables you to package, distribute, and relocate your Kubernetes configuration and OCI images as a bundle. Imgpkg performs operations similar to the docker and crane commands, allowing you to create, push, pull, and operate on OCI images and bundles. A sha256 digest is created for the bundle based on its contents, allowing imgpkg to verify the bundle’s integrity. Bundles are important because they capture your configuration and image references as one discrete unit. As a unit, your configuration and images can be referenced and copied. Referencing your configuration and images as a unit allows for easy operation with air-gaped environments.
kapp-controller is a Carvel tool and is the Tanzu Community Edition package manager. In Tanzu clusters, kapp-controller is constantly watching for package repositories. When a cluster is told about this package repository (likely via the Tanzu package repository command), kapp-controller can pull down that repository and make all the packages available to the cluster.
kbld is a Carvel tool that enables you to ensure that you’re using the correct versions of software when you are creating a package. It allows you to build your package configuration with immutable image references. kbld scans a package configuration for image references and resolves those references to digests. For example, it allows you to specify image
cert-manager:1.5.3 which is actually
kbld scans a package configuration for any references to images and creates a mapping of image tags to a URL with a
sha256 digest. As images with the same name and tag on different registries are not necessarily the same images, by referring to an image with a digest, you’re guaranteed to get the image that you’re expecting. This is similar to providing a checksum file alongside an executable on a download site.
Kind cluster ¶
During the deployment of the management or standalone cluster, either from the installer interface or the CLI,
Tanzu Kubernetes Grid creates a temporary management cluster using a
Kubernetes in Docker,
kind, cluster on the bootstrap machine. Then, Tanzu Community Edition uses it to provision the
final management cluster to the platform of your choice, depending on whether you are deploying to vSphere,
Amazon EC2, Azure, or Docker. After the deployment of the management cluster finishes successfully, the
kind cluster is deleted.
Management Cluster ¶
Managed clusters is a deployment model that features
1 management cluster and
N workload cluster(s). The management cluster provides management and operations for Tanzu. It runs
Cluster-API which is used to manage workload clusters and multi-cluster services. The workload cluster(s) are where developer’s workloads run.
When you create a management cluster, a bootstrap cluster is created on your local machine. This is a Kind based cluster, which runs via Docker. The bootstrap cluster creates a management cluster on your specified provider. The information for how to manage clusters in the target environment is then pivoted into the management cluster. At this point, the local bootstrap cluster is deleted. The management cluster can now create workload clusters.
OCI Registry ¶
During package, and package repository creation, you will upload your package and package repository to an OCI Registry. You can use any public OCI compliant registry, for example:
- Docker Hub (Note: You can quickly run into rate limiting issues.)
- GitHub Container Registry
- Google Container Registry
Packages extend the functionality of Tanzu Community Edition. You can discover and deploy packages through the Tanzu CLI. A Tanzu package is an aggregation of Kubernetes configurations, and its associated software container image, into a versioned and distributable bundle, that can be deployed as an OCI container image. Packages are installed into a Tanzu cluster.
- User-Managed packages: Deployed into clusters and the lifecycle of the package is managed independently of the cluster. For example Project Contour.
- Core packages: Deployed into clusters, typically after cluster is bootstrapped. The lifecycle is managed as part of a cluster. For example, Antrea.
Package Repository ¶
A package repository is a collection of packages. A package repository defines metadata information that makes it possible to discover, install, manage, and upgrade packages on your clusters. Before a package can be deployed in a cluster, it must be made discoverable via a package repository.
A package repository is a collection of Kubernetes custom resources that are handled by the Tanzu Community Edition kapp-controller. Similar to a Linux package repository, a Tanzu package repository declaratively defines metadata information that makes it possible to discover, install, manage, and upgrade software packages on running clusters.
Tanzu Community Edition provides a package repository called
tce-repo that provides a collection of packages necessary to start building an application platform on Kubernetes. You can create your own package repository to distribute different software.
Standalone Cluster ¶
A standalone cluster is a faster way to get a functioning workload cluster with less resources than managed clusters. These clusters do not require a long-running management cluster. A standalone cluster is created using a bootstrap cluster on your local machine with Kind. After the standalone cluster is created, the bootstrap cluster is destroyed. Any operations against the standalone cluster, e.g. deletion, will re-invoke the bootstrap cluster.
Tanzu CLI ¶
Tanzu CLI provides commands that facilitate many of the operations that you can perform with your clusters.
However, for certain operations, you still need to use
Tanzu Community Edition installer ¶
The Tanzu Community Edition installer (the installer) is a graphical wizard that you launch in your browser by
tanzu management-cluster create --ui command. The installer runs locally in a browser on the
bootstrap machine and provides a user interface to guide you through the process of deploying a management or
Target Platform (Infrastructure Provider) ¶
The target platform is the cloud provider or local Docker where you will deploy your cluster. This is also referred to as your infrastructure provider. There are four available target platforms:
- Microsoft Azure
Vendir is a Carvel tool used in the package creation process. Use vendir to synchronize the contents of remote data sources into a consistent local directory. Use a YAML file to define the remote data location and how you want to structure that data locally. Vendir will copy the data locally so that you can operate on it. For example, you can indicate in a YAML file that you want to retrieve the manifest for cert-manager v1.5.3 in GitHub, and put it in a local
Workload Cluster ¶
After you deploy the management cluster, you can deploy a workload cluster. The workload cluster is deployed by the management cluster. The workload cluster is used to run your application workloads. The workload cluster is deployed using the Tanzu CLI.
ytt is a Carvel templating tool that dynamically overwrites values used in YAML files. ytt is used to override default values and add custom configurations in yaml files. ytt lets you create templates and patches for YAML file. ytt interacts with YAML files similarly to how XSLT interacts with XML files.