⏱ 5 min. lezen Helm architectuur

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.

Chart Chart.yaml naam, versie, dependencies values.yaml instelbare parameters templates/ Kubernetes-manifests met variabelen helm install Template-engine vult values.yaml in templates in → platte Kubernetes-YAML Release draaiende instantie in het cluster

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.