Points clés
- ✓70% des organisations utilisent Helm pour déployer sur Kubernetes (Orca 2025)
- ✓'helm install, upgrade, rollback: 3 commandes essentielles en production'
- ✓'Charts Helm: packages versionnés pour applications Kubernetes'
Helm est le gestionnaire de paquets de référence pour Kubernetes. Cet aide-mémoire rassemble les Helm charts Kubernetes commandes essentielles pour installer, mettre à jour, déboguer et gérer vos releases en production. Selon Orca Security 2025, 70% des organisations utilisent Helm pour déployer sur Kubernetes.
TL;DR : Helm simplifie les déploiements Kubernetes via des charts réutilisables. Maîtrisezhelm install,helm upgrade,helm rollbackethelm templatepour gérer vos releases efficacement.
Ces compétences sont au cœur de la formation LFD459 Kubernetes pour les développeurs d'applications.
Qu'est-ce que Helm et pourquoi l'utiliser ?
Helm est un outil de templating et de packaging pour Kubernetes qui encapsule les manifestes YAML dans des charts versionnés. Un chart est une collection de fichiers décrivant une application Kubernetes. Une release est une instance déployée d'un chart.
| Concept | Définition |
|---|---|
| Chart | Package Helm contenant templates, values et métadonnées |
| Release | Instance d'un chart déployé dans un cluster |
| Repository | Serveur hébergeant des charts Helm |
| Values | Fichier YAML de configuration personnalisée |
À retenir : Helm v3 a supprimé Tiller. Toutes les opérations s'exécutent côté client avec les permissions RBAC du kubeconfig.
Comment installer et configurer Helm ?
Installation rapide
# macOS
brew install helm
# Linux (script officiel)
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
# Vérifier l'installation
helm version
# version.BuildInfo{Version:"v3.14.0", ...}
Configuration des repositories
# Ajouter un repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add stable https://charts.helm.sh/stable
# Mettre à jour les index
helm repo update
# Lister les repos configurés
helm repo list
# NAME URL
# bitnami https://charts.bitnami.com/bitnami
# Rechercher un chart
helm search repo nginx
helm search hub prometheus # Recherche sur Artifact Hub
Pour comprendre les fondamentaux de Kubernetes avant d'utiliser Helm, consultez le guide sur l'administrateur système Kubernetes.
Quelles sont les commandes d'installation Helm essentielles ?
| Commande | Description | Exemple |
|---|---|---|
helm install | Installe un chart | helm install myapp bitnami/nginx |
helm install -f values.yaml | Installation avec values custom | helm install myapp ./chart -f prod.yaml |
helm install --set | Override inline | helm install myapp bitnami/nginx --set replicaCount=3 |
helm install --dry-run | Simulation sans déploiement | helm install myapp ./chart --dry-run |
helm install --debug | Mode verbose | helm install myapp ./chart --debug |
Exemples d'installation
# Installation basique
helm install redis bitnami/redis -n cache --create-namespace
# Installation avec fichier values
helm install api ./api-chart -f values-prod.yaml -n production
# Installation avec plusieurs overrides
helm install web bitnami/nginx \
--set service.type=LoadBalancer \
--set replicaCount=3 \
--set resources.limits.memory=512Mi
# Générer un nom automatiquement
helm install bitnami/postgresql --generate-name
À retenir : Utilisez --dry-run --debug systématiquement avant tout déploiement pour valider les manifestes générés.
La gestion des ConfigMaps et Secrets Kubernetes s'intègre directement dans vos charts Helm via les templates.
Comment gérer les releases Helm et les mises à jour ?
Commandes de gestion des releases
| Commande | Description | Exemple |
|---|---|---|
helm list | Liste les releases | helm list -A (tous namespaces) |
helm status | État d'une release | helm status myapp -n prod |
helm upgrade | Met à jour une release | helm upgrade myapp ./chart |
helm rollback | Rollback vers une révision | helm rollback myapp 2 |
helm uninstall | Supprime une release | helm uninstall myapp -n prod |
Workflow de mise à jour
# Lister les releases actives
helm list -n production
# NAME NAMESPACE REVISION STATUS CHART APP VERSION
# api production 5 deployed api-1.2.0 2.0.0
# Mettre à jour avec nouvelles values
helm upgrade api ./api-chart -f values-prod.yaml -n production
# Voir l'historique des révisions
helm history api -n production
# REVISION STATUS DESCRIPTION
# 4 superseded Upgrade complete
# 5 deployed Upgrade complete
# Rollback si problème
helm rollback api 4 -n production
Pour diagnostiquer les erreurs post-déploiement, référez-vous au guide Résoudre les erreurs courantes de déploiement sur Kubernetes.
Comment déboguer les Helm templates et déploiements ?
Commandes de debugging
# Voir les manifestes générés sans déployer
helm template myapp ./chart -f values.yaml
# Valider la syntaxe du chart
helm lint ./chart
# Tester le rendu avec debug
helm install myapp ./chart --dry-run --debug 2>&1 | head -100
# Voir les notes post-installation
helm get notes myapp -n production
# Récupérer les values effectives
helm get values myapp -n production --all
# Obtenir les manifestes déployés
helm get manifest myapp -n production
Debugging des erreurs courantes
# Erreur de template ?
helm template ./chart 2>&1 | grep -i error
# Chart introuvable ?
helm repo update && helm search repo <name>
# Conflit de ressources ?
helm get manifest myapp | kubectl apply --dry-run=server -f -
À retenir :helm get manifest+kubectl diffpermet de comparer l'état désiré vs l'état actuel du cluster.
Le Développement applications Kubernetes couvre en profondeur ces techniques de debugging pour les développeurs Full-Stack Kubernetes.
Quelles sont les commandes de création de charts ?
Structure d'un chart
# Créer un nouveau chart
helm create mychart
# mychart/
# ├── Chart.yaml # Métadonnées
# ├── values.yaml # Valeurs par défaut
# ├── charts/ # Dépendances
# └── templates/ # Manifestes Kubernetes
# ├── deployment.yaml
# ├── service.yaml
# ├── _helpers.tpl # Fonctions réutilisables
# └── NOTES.txt # Message post-install
Commandes de packaging
| Commande | Description | Exemple |
|---|---|---|
helm create | Génère un chart squelette | helm create api-chart |
helm package | Crée une archive .tgz | helm package ./mychart |
helm dependency update | Télécharge les dépendances | helm dep update ./chart |
helm show values | Affiche les values par défaut | helm show values bitnami/nginx |
# Packager pour distribution
helm package ./mychart --version 1.2.0 --app-version 2.0.0
# mychart-1.2.0.tgz
# Inspecter un chart distant
helm show chart bitnami/redis
helm show readme bitnami/redis
La formation LFD459 enseigne la création de Helm templates pour le déploiement Kubernetes en production.
Quels sont les pièges courants avec Helm ?
| Piège | Symptôme | Solution |
|---|---|---|
| Release orpheline | helm list vide mais ressources présentes | kubectl delete manuel puis helm install |
| Hooks bloqués | Release en pending-upgrade | kubectl delete job |
| Values non appliquées | Config inchangée après upgrade | Vérifier --reuse-values vs -f values.yaml |
| Namespace manquant | Erreur installation | Ajouter --create-namespace |
| RBAC insuffisant | Forbidden errors | Vérifier ServiceAccount Helm |
Anti-patterns à éviter
# ❌ Ne jamais utiliser --force sans comprendre
helm upgrade --force # Supprime et recrée les ressources
# ✅ Préférer --atomic pour rollback automatique
helm upgrade myapp ./chart --atomic --timeout 5m
# ❌ Éviter --reuse-values avec des changements de structure
helm upgrade myapp ./chart --reuse-values
# ✅ Toujours spécifier explicitement les values
helm upgrade myapp ./chart -f values-prod.yaml
À retenir : Utilisez --atomic en CI/CD pour garantir un rollback automatique en cas d'échec du déploiement.
Pour approfondir la gestion des releases Helm Kubernetes en environnement multi-cluster, explorez la section Sécurité Kubernetes.
Tableau récapitulatif des commandes Helm
| Catégorie | Commande | Usage |
|---|---|---|
| Repos | helm repo add/update/list | Gérer les sources de charts |
| Install | helm install -f values.yaml | Déployer avec configuration |
| Upgrade | helm upgrade --atomic | Mise à jour sécurisée |
| Rollback | helm rollback | Restaurer une version |
| Debug | helm template --debug | Valider les manifestes |
| Info | helm get values/manifest/notes | Inspecter une release |
| Package | helm package/lint | Créer et valider des charts |
Selon le CNCF Annual Survey 2025, 82% des utilisateurs de conteneurs exécutent Kubernetes en production. Maîtriser Helm devient donc incontournable.
Consultez le Formation Kubernetes : Guide Complet pour une vue d'ensemble des parcours de formation disponibles, y compris les sessions à Strasbourg, Toulouse, Luxembourg et Bruxelles.
Passez à l'action : formations Helm et Kubernetes
Développez vos compétences Helm et Kubernetes avec SFEIR Institute :
- LFD459 Kubernetes pour les développeurs d'applications : 3 jours pour maîtriser les déploiements, Helm charts et préparation au CKAD
- LFS458 Administration Kubernetes : 4 jours de formation intensive pour la certification CKA
- Kubernetes, les fondamentaux : 1 jour pour découvrir les concepts clés
Contactez nos conseillers pour construire votre parcours de formation Kubernetes développeur Backend adapté à votre niveau.