Skip to main content

⎈ 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 template avant chaque commit.
  • Toujours exécuter helm lint.
  • Utiliser un fichier values.yaml par 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

```