Helm-architectuur: charts, values en releases
Helm is de pakketbeheerder van Kubernetes. Zo hangen een chart, values.yaml en een release met elkaar samen.
Als je Kubernetes-manifests voor een applicatie steeds opnieuw moet aanpassen voor elke omgeving (dev, test, productie), wordt dat al snel onoverzichtelijk. Helm lost dit op door manifests te templaten en te bundelen in herbruikbare pakketten: charts.
De opbouw van een chart
- Chart.yaml — metadata: naam, versie, beschrijving en eventuele dependencies op andere charts.
- values.yaml — de standaardwaarden voor alle instelbare parameters (bijvoorbeeld het aantal replica's of de image-tag). Deze waarden kun je overschrijven per omgeving.
- templates/ — de Kubernetes-manifests, maar dan met placeholders die tijdens installatie worden ingevuld met waarden uit values.yaml.
Van chart naar release
Wanneer je helm install uitvoert, neemt de template-engine de manifests uit templates/, vult de placeholders in met de juiste values, en past het resultaat toe op het cluster. Die draaiende, benoemde instantie van een chart heet een release. Je kunt dezelfde chart meerdere keren installeren onder verschillende releasenamen (bijvoorbeeld voor verschillende teams of omgevingen).
Levenscyclus: install, upgrade, rollback
Helm houdt de historie van elke release bij. Pas je values aan en voer je helm upgrade uit, dan wordt alleen het verschil doorgevoerd. Gaat er iets mis, dan kun je met helm rollback terug naar een eerdere, werkende revisie — zonder handmatig oude manifests te hoeven terugzoeken.
Examentip: Weet het verschil tussen een chart (het pakket/de blauwdruk) en een release (een specifieke, benoemde installatie daarvan) — dit onderscheid wordt vaak getoetst.