Docker & Kubernetes · Module 13
Helm – The Package Manager for Kubernetes
Package manifests as charts, install and upgrade releases with values, roll back by revision, and manage chart dependencies.
What you will learn
- Compare deploying with kubectl and with Helm
- Explain charts, releases, repositories and Helm 2 vs Helm 3
- Describe the chart layout and create, lint and render a chart
- Write templates with built-in objects, pipelines and helpers; upgrade and roll back releases
- Declare dependencies and subcharts
Lessons
- Why Helm — the kubectl Way and the Helm Way
Helm bundles many manifests into one parameterised chart and installs it as a release with history, so upgrades and rollbacks are easy.
- Concepts and Architecture — Helm 2 and Helm 3
A chart is the package, a release is one installation, a repository is where charts are shared; Helm 3 removed Tiller and stores releases in Secrets per namespace.
- Chart Structure
A chart is a folder with Chart.yaml, values.yaml and templates/; helm create scaffolds one, helm lint checks it, helm template renders it.
- Template Syntax and Values
Helm templates are Go templates — actions in {{ }}, built-in objects such as .Values and .Release, pipelines, if/range, include helpers; values are overridden with -f or --set.
- Dependencies, Subcharts and Repositories
Declare dependencies in Chart.yaml and download them into charts/ with helm dependency update; values only flow from the parent chart down to subcharts.