Cluster Essentials for VMware Tanzu simplifies the process of installing the open-source Carvel tools on your cluster. These tools are essential for easy installation and management of various Tanzu products, such as Tanzu Application Platform. It includes a script to download and install supported versions of kapp-controller and secretgen-controller on the target cluster. It also installs the kapp, imgpkg, ytt, and kbld CLIs on your local machine. VMware Tanzu Kubernetes Grid clusters and clusters provisioned by Tanzu Mission Control already have the contents of Cluster Essentials installed.



kapp-controller provides declarative APIs to customize, install, and update your Kubernetes applications and packages. It provides the Package, PackageInstall, PackageRepository, and App CRDs that are leveraged by the Tanzu CLI package plugin to install and update packages. These CRDs can also be used to automate management of your workloads following GitOps practices. Learn more about kapp-controller on here

secretgen-controller provides declarative APIs to specify what secrets need to be on cluster. It can generate certificates, passwords, RSA keys and SSH keys, and also works with secrets generated by other tools. It provides the SecretImport and SecretExport CRDs that are leveraged by the Tanzu CLI secret plugin to copy private registry secrets into appropriate namespaces to allow installation of packages from private registries.

kapp is a CLI tool for deploying and observing groups of Kubernetes resources. kapp refers to these groups of resources as "apps". It enables applying changes safely and predictably to apps, watching for resources as they converge. kapp CLI is used by kapp-controller on the cluster to reconcile CRs and it can be a helpful tool for observing and debugging Tanzu installations.

imgpkg is a CLI tool for packaging, distributing, and relocating Kubernetes configuration and dependent OCI images as one immutable OCI artifact: a bundle. It enables you to consume bundles with confidence knowing that their contents are unchanged after relocation. imgpkg bundles are leveraged by Tanzu products to enable relocation to air-gapped environments and private registries.

ytt is a CLI tool for templating, overlaying, and configuration management. It is structure-oriented -- ytt templates are YAML documents made from nodes such as maps and arrays. It comes with a Python-like programming language, Starlark, which allows you to write modularized configuration that can be reused and shared, and runs in a hermetic environment making it deterministic. Several Tanzu packages leverage ytt templates for templating and overlaying.

kbld is CLI a tool that enables finding and resolving OCI registry image references to digests within Kubernetes configuration. It works hand in hand with imgpkg by accepting updated image references after an imgpkg bundle has been copied to another registry and is leveraged by Tanzu products to enable relocation to air-gapped environments and private registries.

To learn more about any of these tools, please visit the open source Carvel website. The Carvel Blog is also a good resource for learning about best practices and real world usage of the Carvel tools.