Lesson 22 / 25
Helm Charts
Packages with templates and versions.
Install and configure third-party software
Helm packages Kubernetes manifests as charts: templated YAML plus a values.yaml of settings, with versioned releases you can upgrade and roll back. It is the common way to install third-party software (ingress controllers, monitoring stacks, databases). For your own apps, Helm or Kustomize both work; Kustomize stays closer to plain YAML, Helm is better when you need to distribute a configurable package. Always pin chart versions and review values.
Installing a chart (sketch)
Typical commands; need a cluster and network access. Not run here.
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
helm repo update
helm upgrade --install ingress ingress-nginx/ingress-nginx \
--namespace ingress --create-namespace \
--version 4.11.3 \
-f values-prod.yaml
helm history ingress -n ingress
helm rollback ingress 1 -n ingressRender before installing
Run helm template with your values and read the output; charts can create more (and more privileged) resources than you expect.
Quick check: When is Helm especially useful?
- Building container images
- Writing a single Pod by hand
- Replacing kubectl entirely
- Installing and upgrading configurable third-party software packages
Answer
Installing and upgrading configurable third-party software packages — Charts package configurable installs.