⎈ Helm Cheat Sheet
Cette documentation regroupe les commandes Helm utilisées pour développer, valider et déboguer les Charts Helm de la plateforme.
Important : En production, les déploiements sont réalisés exclusivement par ArgoCD. Les commandes présentées ici sont destinées au développement local, au test et au diagnostic.
🎯 Objectif
Cette documentation permet de :
- Créer un nouveau Chart Helm
- Valider un Chart
- Générer les manifestes Kubernetes
- Inspecter une Release existante
- Tester un Chart localement
- Gérer les dépôts Helm
📦 Créer un Chart
Créer la structure de base
helm create mon-app
Structure générée :
mon-app/
├── Chart.yaml
├── values.yaml
├── charts/
└── templates/
✅ Vérifier un Chart
Validation syntaxique
helm lint ./infra/kubernetes/mon-app
Cette commande vérifie la structure du Chart ainsi que les bonnes pratiques Helm.
🧪 Générer les manifestes Kubernetes
Cette commande est la plus utilisée lors du développement.
Afficher le rendu complet
helm template ma-release ./infra/kubernetes/mon-app --debug
Tester un namespace spécifique
helm template ma-release ./infra/kubernetes/mon-app \
-n media
Cette étape permet de vérifier les boucles, les conditions et les variables avant tout déploiement.
🔍 Inspecter une Release
Afficher toutes les Releases
helm list -A
Afficher l'historique
helm history ma-release \
-n mon-namespace
⚙️ Consulter les valeurs appliquées
Valeurs personnalisées
helm get values ma-release \
-n mon-namespace
Toutes les valeurs
helm get values ma-release \
-n mon-namespace \
--all
📄 Afficher les manifestes générés
helm get manifest ma-release \
-n mon-namespace
Permet de visualiser exactement les objets Kubernetes installés.
🧪 Tester un Chart localement
Cette procédure est réservée au développement.
⚠ Si l'application est déjà gérée par ArgoCD, celui-ci risque d'écraser les modifications.
Installation
helm install test-release \
./mon-chart \
-n test-ns \
--create-namespace
Installation ou mise à jour
helm upgrade \
--install \
test-release \
./mon-chart \
-n test-ns \
-f mes-valeurs.yaml
Désinstallation
helm uninstall test-release \
-n test-ns
📚 Dépôts Helm
Ajouter un dépôt
helm repo add bitnami \
https://charts.bitnami.com/bitnami
Mettre à jour les index
helm repo update
Rechercher un Chart
helm search repo redis
🚨 Dépannage
| Problème | Commande |
|---|---|
| Erreur de template | helm template --debug |
| Erreur de syntaxe | helm lint |
| Voir les valeurs réellement utilisées | helm get values |
| Voir les objets Kubernetes | helm get manifest |
| Historique des mises à jour | helm history |
💡 Bonnes pratiques
- Versionner tous les Charts dans Git.
- Ne jamais modifier une Release directement sur le cluster.
- Utiliser
helm templateavant chaque commit. - Toujours exécuter
helm lint. - Utiliser un fichier
values.yamlpar environnement lorsque cela est nécessaire. - Laisser ArgoCD gérer les déploiements en production.
🏗 Philosophie de la plateforme
Sur cette plateforme, Helm est uniquement un moteur de génération de manifestes Kubernetes. Les responsabilités sont réparties de la manière suivante :
| Composant | Responsabilité |
|---|---|
| Git | Source de vérité |
| Helm | Génération des manifestes Kubernetes |
| ArgoCD | Déploiement GitOps |
| Kubernetes | Exécution des workloads |
Les commandes helm install et helm upgrade ne doivent être utilisées que pour des tests locaux. En production, toutes les applications sont déployées automatiquement par ArgoCD.
📚 Voir également
- ArgoCD
- Sealed Secrets
- Kubernetes GitOps
- Développement des applications Helm internes
```
No comments to display
No comments to display