Software Containerisation

Table of Contents

Helm: Kubernetes package manager

Introduces Helm chart, which describes contents of all objects in the application using a single package. A running instance of such a set of Kubernetes objects is a “release”. Helm charts are stored in repos. Helm must be installed separately from Kubernetes.

From end user POV, on microk8s you do microk8s enable helm3, and then use it like a standard package manager (i.e. list, install, uninstall…)

Creating charts

A chart can include other charts. A chart contains Chart.yaml, a values.yaml, and a templates folder.

Start by running helm create <chart-name>, which gives you a starting skeleton:

Then, you can install it with helm install <release-name> <chart-dir>, and see that it’s installed with helm ls.

To package it, do helm package <chart-dir>. You can upgrade a release with helm upgrade <release-name> <chart-package-tgz>, and downgrade with helm rollback <release-name> <revision>.