Planning your Deployment ¶
A Tanzu Community Edition deployment consists of the following high level steps:
Decision time: You must decide, which of the following suits your desired outcome:
Deploy your chosen cluster type: Now that you have chosen your cluster deployment type and installed the Tanzu CLI, you are ready to deploy your cluster. Deployment steps are available in both the managed and unmanaged cluster Getting Started Guides.
Deploy packages: If you want to deploy applications on any cluster you will need some packages.
- For unmanaged clusters, the package repository is already installed, so you can start to install individual packages. Steps for a sample package installation are available in Create Unmanaged Clusters.
- For a managed cluster deployment, you must first install the package repository, and then you are ready to install individual packages. Steps are available for both in Create Managed Clusters.
Component Descriptions ¶
Managed 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. 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.
Unmanaged Cluster ¶
Unmanaged clusters offer Tanzu environments for development and experimentation. By default, they run locally via kind (default) or minikube with Tanzu components installed atop. An unmanaged cluster offers a single node, local workstation cluster suitable for a development/test environment. It requires minimal local resources and is fast to deploy. It provides support for running multiple clusters.
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.