Aller au contenu
Conteneurs & Orchestration high

Formation Helm : déployer des charts sur Kubernetes

15 min de lecture

logo helm

Helm est le gestionnaire de paquets de Kubernetes : vous décrivez un déploiement dans un chart, un ensemble de gabarits YAML pilotés par des values, et Helm génère les manifestes, versionne chaque installation et permet de revenir en arrière en une commande. Cette formation gratuite mène du premier chart installé à la distribution de charts signés : 6 modules, 15 leçons, environ 13 heures de travail. Elle s'adresse aux profils DevOps et aux développeurs qui déploient déjà sur Kubernetes avec kubectl apply et veulent des déploiements reproductibles. Les guides sont vérifiés sur Helm v3.20.0, avec un module dédié à la bascule vers Helm v4.

Qu'est-ce que Helm et à quoi sert-il sur Kubernetes ?

Section intitulée « Qu'est-ce que Helm et à quoi sert-il sur Kubernetes ? »

Helm remplace un dossier de manifestes YAML copiés d'un environnement à l'autre par un paquet unique et versionné, installé et mis à jour en une commande. Trois notions suffisent à comprendre le modèle, et elles reviennent dans toutes les leçons.

Un chart est le paquet : des gabarits YAML, un fichier values.yaml qui porte les paramètres par défaut, et un Chart.yaml qui le décrit et le versionne. Les values sont les paramètres que vous surchargez pour votre contexte, avec -f values-prod.yaml ou --set replicaCount=3. Une release est le résultat : une instance nommée du chart, déployée avec des values précises, dont Helm conserve l'historique des révisions. C'est cet historique qui rend helm rollback myapp 2 possible, là où un kubectl apply ne laisse aucune trace de l'état précédent.

Sans HelmAvec Helm
Fichiers YAML éparpillés, copiés-collésUn chart versionné, un helm install
« Quelle version est en prod ? », il faut chercher dans les journauxhelm list donne version, date et statut
Rollback : retrouver les anciens fichiers, les réappliquerhelm rollback myapp 2
Config dev/prod : dupliquer tous les YAMLUn chart plus values-dev.yaml et values-prod.yaml
Mise à jour : modifier dix fichiers, risque d'oublihelm upgrade avec les nouvelles values

Helm n'est pas la seule réponse. Kustomize superpose des patches sur des manifestes existants, sans langage de gabarit ni notion de release. Le choix se joue là : si vous distribuez une application à d'autres équipes, Helm gagne, parce qu'il livre un paquet paramétrable et versionné. Si vous adaptez vos propres manifestes à trois environnements, Kustomize fait le travail avec moins de machinerie.

Que contient la formation Helm et combien de temps demande-t-elle ?

Section intitulée « Que contient la formation Helm et combien de temps demande-t-elle ? »

La formation compte 6 modules et 15 leçons, pour environ 13 heures de travail, manipulations sur cluster comprises. Elle est gratuite et accessible sans inscription.

Ce que vous suivezVolume
Modules pédagogiques6
Leçons15
Durée estiméeenviron 13 heures
Version de référence des guidesHelm v3.20.0
Version couverte par le module de migrationHelm v4
Environnement de travailcluster local kind ou k3d
Coûtgratuit, sans inscription

Ces heures comptent la lecture et la reproduction des commandes sur un cluster. Un module comme Personnaliser ses déploiements pèse trois heures parce qu'il demande de créer des fichiers de values, de les surcharger et de vérifier le rendu avec helm template ; une leçon lue sans cluster sous la main passe beaucoup plus vite, et laisse beaucoup moins.

Comment suivre sa progression dans le parcours Helm ?

Section intitulée « Comment suivre sa progression dans le parcours Helm ? »

Chaque leçon porte une case à cocher, et votre progression est enregistrée dans votre navigateur, sans compte ni inscription. Aucune donnée ne part sur un serveur.

La page Mon parcours affiche le programme complet, module par module, avec le pourcentage d'avancement. En haut de chaque leçon, un bandeau rappelle où vous en êtes ; en bas, un bouton marque la leçon comme lue et vous emmène à la suivante. Vous pouvez donc étaler les 13 heures sur plusieurs semaines et reprendre exactement là où vous vous étiez arrêté.

Les modules se suivent dans l'ordre : chacun réutilise ce que le précédent a posé. On installe des charts écrits par d'autres avant d'en écrire, et on n'automatise en CI/CD qu'un chart dont on sait déjà vérifier la qualité.

Installer Helm, comprendre ce qu'est un chart et déployer une première release. À la fin du module, vous savez chercher un chart public, l'inspecter avant de l'installer, et gérer les releases déjà en place.

Adapter un chart à son contexte sans le forker. C'est le module qui sépare l'usage naïf de l'usage professionnel : on surcharge par values, on comprend la structure interne d'un chart, et on applique des gabarits éprouvés en production.

Faire vivre une release dans la durée : montées de version, retours arrière, et diagnostic quand le rendu ne donne pas ce qu'on attendait.

Passer du chart unique à un ensemble cohérent, et se donner les moyens de vérifier sa qualité avant publication.

Publier des charts auxquels on peut faire confiance. C'est le module le plus proche des enjeux de chaîne d'approvisionnement logicielle : un chart non signé installé depuis un registre public est du code arbitraire appliqué à votre cluster.

Automatiser le packaging dans une chaîne CI/CD, puis préparer la bascule vers Helm v4.

Chaque module se travaille sur un cluster local jetable, kind ou k3d, monté en une commande. Rien n'exige de cluster managé ni de compte cloud : le tableau ci-dessous indique ce que vous manipulez réellement module par module, et le temps à y consacrer.

ModuleCe que vous manipulezDurée
Découvrir HelmInstaller Helm, chercher un chart public, déployer puis supprimer une release3 h 05
Personnaliser ses déploiementsFichiers de values par environnement, structure d'un chart, gabarits de production3 h
Exploiter au quotidienupgrade, history, rollback, puis lint, template et --debug1 h 45
Composer et fiabiliserSubcharts, chart umbrella, values.schema.json, documentation2 h
Sécuriser et distribuerSignature et fichier .prov, publication sur un registre OCI1 h 15
IndustrialiserChaîne lint, package, publish, deploy, puis migration vers Helm v41 h 40

Montez le cluster avant de commencer le module 1, et gardez-le pour toute la durée de la formation. Les deux outils conviennent, choisissez celui que vous avez déjà :

Fenêtre de terminal
# Option 1 : kind
kind create cluster --name helm-lab
# Option 2 : k3d
k3d cluster create helm-lab

Vérifiez ensuite que kubectl cluster-info répond avant d'installer quoi que ce soit : un helm install sur un contexte pointant vers un cluster éteint échoue avec un message de connexion qui n'a rien à voir avec Helm.

Trois prérequis suffisent : connaître les objets Kubernetes de base, savoir lire du YAML, et disposer d'un cluster. Helm ne remplace pas la compréhension de Kubernetes, il l'exige : un chart produit des Deployments, des Services et des ConfigMaps, et si vous ne savez pas les lire, vous ne saurez pas diagnostiquer ce que le chart a produit.

  • Kubernetes : Pods, Deployments, Services et namespaces.
  • YAML : syntaxe, indentation, listes et dictionnaires.
  • Un cluster : kind, k3d ou minikube en local suffisent.

Apprenez sur Helm v3, la version que documentent ces guides, mais planifiez la bascule : le support de sécurité de Helm v3 s'arrête le 11 novembre 2026, et le support correctif a pris fin le 8 juillet 2026. Le modèle chart, values et release ne change pas en v4 ; ce sont des détails d'interface qui cassent les scripts.

Trois écarts font tomber une chaîne CI/CD qui n'a pas été relue. Les flags renommés d'abord : --atomic devient --rollback-on-failure et --force devient --force-replace, les anciens noms restant acceptés mais dépréciés. Les post-renderers ensuite : ce n'est plus un binaire passé en paramètre, ils passent par le système de plugins, ce qui impacte toutes les chaînes du type --post-renderer ./kustomize. L'authentification OCI enfin : helm registry login attend le domaine (ghcr.io) et non une référence complète.

Avant de migrer, rejouez vos pipelines avec Helm v4 en portant l'attention sur upgrade --install, --wait, --dry-run et le post-rendu. Le module Migrer vers Helm v4 détaille chaque changement avec la commande de remplacement et une checklist de bascule.

Cinq messages d'erreur couvrent la majorité des blocages des débutants, et aucun ne vient de Helm lui-même : ils viennent du chart, du contexte ou du cluster. Le tableau donne le symptôme exact tel qu'il s'affiche, puis la première chose à essayer.

ErreurSymptômeSolution rapide
Chart introuvableError: chart not foundhelm repo update
Release existe déjàcannot re-use a nameChanger le nom ou utiliser helm upgrade --install
Values ignoréesLa configuration n'est pas appliquéeVérifier le chemin YAML dans le chart, passer le fichier avec -f
Pods en PendingLes conteneurs ne démarrent pasVérifier resources, les PVC et le nodeSelector
Erreur de templatenil pointerAjouter required ou default dans le gabarit

Le réflexe qui résout le plus de cas ne figure pas dans ce tableau : rendre le chart localement avec helm template avant d'appliquer. Vous voyez le YAML final, celui que Kubernetes recevra, et la moitié des erreurs de values sautent aux yeux à ce moment. Le module Déboguer et valider un chart en fait une méthode complète.


Cette formation a des opinions, forgées sur des clusters k3d comme en production. Les voici, pour que vous sachiez à quoi vous vous engagez.

Jamais helm install seul, toujours helm upgrade --install. Le --install rend la commande idempotente : elle se rejoue telle quelle en intégration continue, sans gérer le cas « la release existe déjà ». J'ajoute --wait --timeout 5m pour ne valider qu'une fois les pods réellement prêts, et --atomic pour que la release revienne automatiquement en arrière en cas d'échec au lieu de rester coincée en failed à nettoyer à la main. En Helm v4, ce dernier flag s'écrit --rollback-on-failure.

Un chart s'inspecte avant de s'installer. helm show values et helm template coûtent dix secondes et vous disent ce que le chart va créer, avec quels droits et quelles images. Installer un chart public sans l'avoir lu, c'est appliquer du code arbitraire à votre cluster avec les droits du compte qui lance la commande.

Les values de production vivent dans Git, pas dans des --set. Un --set empilé dans un script d'historique de shell n'est ni relisible ni reproductible. Un fichier values-prod.yaml versionné se relit, se commente et se compare d'une release à l'autre.

Un chart publié se signe. Le fichier de provenance .prov et la vérification à l'installation ne coûtent rien une fois la chaîne en place, et ils sont la seule chose qui distingue votre chart d'un chart homonyme poussé par quelqu'un d'autre sur le même registre.

On ne met pas de logique métier dans un gabarit. Un template Helm truffé de conditions imbriquées devient illisible et impossible à tester. Quand un chart réclame ce niveau de logique, c'est en général qu'il devrait être découpé en subcharts, ou que la logique appartient à l'application.

Trois erreurs reviennent assez souvent pour mériter d'être nommées avant que vous ne les commettiez.

Forker un chart public pour changer trois valeurs. Vous héritez alors de sa maintenance et vous perdez ses mises à jour de sécurité. Les values, les subcharts et, en dernier recours, un post-renderer couvrent presque tous les besoins d'adaptation.

Traiter helm rollback comme un filet de sécurité universel. Il restaure les manifestes, pas les données : une migration de schéma de base de données appliquée par un hook ne se défait pas parce que vous êtes revenu à la révision précédente.

Découvrir Helm v4 le jour où le pipeline casse. Le support correctif de Helm v3 est terminé depuis le 8 juillet 2026 et le support de sécurité s'arrête le 11 novembre 2026. Testez la bascule en préproduction pendant que la v3 tient encore.

  • Helm est le gestionnaire de paquets de Kubernetes : chart, plus values, égale release
  • Un chart est un paquet versionné de gabarits ; les values le paramètrent ; la release est l'instance déployée, avec son historique
  • Le flux de base tient en quatre commandes : helm repo add, helm install, helm upgrade, helm rollback
  • Créer un chart : helm create, nettoyer le squelette, templater, valider avec helm lint et helm template
  • En production : publier sur un registre OCI, signer, automatiser en CI/CD
  • La formation compte 6 modules, 15 leçons et environ 13 heures, vérifiés sur Helm v3.20.0
  • Le support de sécurité de Helm v3 s'arrête le 11 novembre 2026 : la migration vers Helm v4 est un chantier à planifier, pas à subir

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn