Helm est le gestionnaire de paquets standard pour Kubernetes. Il permet de packager, partager et déployer des applications complexes de manière reproductible.
Application vs Library vs Umbrella charts, plugins helm-diff, helm-unittest, helm-push
Concepts clés
Terme
Définition
Chart
Le modèle — le code source packagé
Release
L’instance déployée sur le cluster (une installation d’un Chart)
Values
Les paramètres de configuration injectés dans les templates
Repository
Serveur qui héberge des packages Charts (.tgz)
Anatomie d’un Chart
mon-chart/
├── Chart.yaml ← "Je dis qui je suis et de quoi j'ai besoin"
├── values.yaml ← "Je propose des options de configuration"
├── charts/ ← sous-charts (dépendances)
└── templates/
├── _helpers.tpl ← "Je centralise les calculs et noms complexes"
├── deployment.yaml
├── service.yaml
└── ingress.yaml ← souvent conditionnel : if .Values.ingress.enabled
Types de charts
Type
Usage
Application
Déploiement standard (Pods, Services, Ingress)
Library
Partage de fonctions entre charts — ne déploie rien