Overview of Helm
Helm is the package manager for Kubernetes. It is an open source project by the Cloud Native Computing Foundation (CNCF).
Kubernetes provides a rich interface for deploying applications through an extensible object model. Typically, you write manifest YAML files describing objects and then use the kubectl
command to feed the YAML files to Kubernetes. Kubernetes then configures the Kubernetes cluster to match. Built-in object types include include Pod, Service, and Persistent Volume. The TimesTen Operator extends the Kubernetes object type system by adding objects of type TimesTenClassic and TimesTen Scaleout.
Helm is an optional layer on top of this architecture. Rather than manually creating YAML files and using kubectl
to apply the files, Helm gives application developers the ability to package a set of YAML files into a single entity called a chart. Such a chart can be installed into a Kubernetes cluster using a single command.
The YAML files provided in a chart are templates. When installing a chart, you can specify a set of values to replace into the chart. Helm processes the YAML in the chart, substituting values provided by you, and submits the final version to Kubernetes through the kubectl
command.
-
Charts can depend on other charts. Helm can assist in maintaining the dependency relationships. Helm can install an application and its dependencies as a unit.
-
You can list charts that have been installed in your Kubernetes cluster and refer to them by name.
-
You can use the
helm
test
command to verify the functioning of the application. -
You can upgrade an installed application by applying a new version of the chart that installed the application.
-
You can delete charts by name.
For more information about Helm, see https://helm.sh/docs/.