This section describes how to install and configure packages in Tanzu Kubernetes Grid.
A package is a collection of related software that supports or extends the core functionality of the Kubernetes cluster in which the package is installed. Packages are grouped into package repositories in the Tanzu Command Line Interface (CLI). For more information about how packages and package repositories are implemented in Tanzu Kubernetes Grid, see Carvel API Resources below.
Tanzu Kubernetes Grid includes two types of packages:
tanzu-core and the
tanzu-standard package repositories are automatically enabled in every cluster.
Core packages are typically installed during cluster creation. These packages support the core functionality of Kubernetes clusters created by Tanzu Kubernetes Grid. Tanzu Kubernetes Grid manages the lifecycle of its core packages and of the
tanzu-core package repository. You can manually update the configuration of some of the core packages after you create the cluster. For more information, see Core Packages.
User-managed packages are installed after cluster creation. These packages extend the core functionality of Kubernetes clusters created by Tanzu Kubernetes Grid. For example, you can install the Contour package to implement ingress control, the Harbor package to configure a private container registry, or the Fluent Bit, Grafana, and Prometheus packages to collect logs and metrics from your clusters.
Using the Tanzu CLI, you can install user-managed packages from the
tanzu-standard package repository or from package repositories that you add to your target cluster. Tanzu Kubernetes Grid manages the lifecycle of the
tanzu-standard package repository. For more information about the standard packages, see User-Managed Packages. For information about how to create your own packages and package repositories, see Tutorial: Create and Install a Package in the Carvel documentation.
To make core and user-managed packages available in Kubernetes clusters, Tanzu Kubernetes Grid uses
kapp-controller, a package manager, and the following API resources. These API resources are created in your target cluster.
pkgr: This resource, which represents a single package repository, points
kapp-controllerto the package repository that is defined in the resource. A package repository contains
PackageMetadataresources. After a
PackageRepositoryis created in your target cluster,
kapp-controllercan install any of the packages that the package repository contains.
pkg: This resource contains version-specific information about a given package and defines how to install the package.
Packageresource when installing the package.
pkgm: This resource contains version-agnostic information about a given package.
pkgi: This resource represents an installed package in your target cluster. It also references the
Packageresource that was used to install the package.
You can list and view these resources by using the
kubectl api-resources and
kubectl get commands. For more information about the Carvel API resources, see Packaging in the Carvel documentation.
Tanzu Kubernetes Grid package functionality and
tanzu package commands are not supported for vSphere 7 clusters.
Retain or implement add-on functionality for vSphere 7 clusters depending on their history, as described in the table below:
|vSphere 7 clusters with extensions that predate Tanzu Kubernetes Grid v1.4 upgrade||Do not upgrade extensions to packages; continue running clusters with existing extensions.|
|vSphere 7 supervisor cluster added to Tanzu CLI since v1.4 upgrade||Follow Deploy TKG Extensions v1.3.1 to Tanzu Kubernetes Clusters in the vSphere 7.0 Documentation|
|vSphere 7 workload cluster deployed by supervisor cluster since v1.4 upgrade|
vSphere 7 supervisor clusters can be added to the Tanzu CLI with
tanzu login as described in Add a vSphere7 Supervisor Cluster as a Management Cluster.