quickstart5 min de lecture

Premiers pas avec Helm : installer et gérer vos charts Kubernetes

SFEIR Institute

Points clés

  • Helm est le gestionnaire de paquets officiel de Kubernetes
  • Un chart Helm encapsule tous les manifestes YAML d'une application
  • 'Trois commandes essentielles: helm install, upgrade, rollback'

Ce tutoriel Helm Kubernetes débutant vous guide de l'installation à votre premier déploiement en moins de 30 minutes. Helm, le gestionnaire de paquets de Kubernetes, simplifie le déploiement d'applications complexes en encapsulant les manifestes YAML dans des charts réutilisables et versionnés. Si vous êtes ingénieur infrastructure, ingénieur opérations Cloud ou administrateur système, cette compétence accélère vos workflows de déploiement.

TL;DR : Helm permet de déployer des applications Kubernetes avec une seule commande (helm install), de les mettre à jour (helm upgrade) et de les rollback (helm rollback). C'est l'outil standard utilisé par 70% des organisations Kubernetes.

Les professionnels qui veulent aller plus loin suivent la formation LFS458 Administration Kubernetes.

Qu'est-ce que Helm et pourquoi l'utiliser ?

Helm est le gestionnaire de paquets officiel de Kubernetes. Un chart Helm est une collection de fichiers YAML qui définissent une application Kubernetes complète : Deployments, Services, ConfigMaps, Secrets, Ingress.

Selon Orca Security 2025, 70% des organisations utilisent Helm dans leurs environnements cloud. Cette adoption massive s'explique par trois avantages :

AvantageSans HelmAvec Helm
Déploiementkubectl apply -f *.yaml (ordre manuel)helm install (automatisé)
Mise à jourModification manuelle des manifesteshelm upgrade avec values
RollbackRecherche et restauration manuellehelm rollback vers version N
ReproductibilitéVariable selon l'opérateurGarantie par le chart
À retenir : Helm standardise le déploiement et réduit les erreurs humaines grâce à l'abstraction et la reproductibilité.

Comment installer Helm ? Tutoriel Helm Kubernetes débutant

Installation sur différents OS

# macOS avec Homebrew
brew install helm

# Linux (script officiel)
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Windows avec Chocolatey
choco install kubernetes-helm

# Vérification
helm version
# version.BuildInfo{Version:"v3.14.2", ...}

Configuration initiale

Helm 3 ne nécessite pas de composant serveur (Tiller a été supprimé). Assurez-vous simplement que kubectl est configuré pour votre cluster :

# Vérifier la connexion au cluster
kubectl cluster-info

# Ajouter le repository officiel
helm repo add stable https://charts.helm.sh/stable
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

Pour configurer votre environnement local, consultez Installer Kubernetes en local : guide complet avec Minikube, Kind et K3d.

Comment déployer votre première application avec Helm ?

Rechercher un chart

# Rechercher dans les repos configurés
helm search repo nginx

# Rechercher sur Artifact Hub (registre public)
helm search hub wordpress

Installer un chart

# Installation basique
helm install my-nginx bitnami/nginx

# Installation avec namespace dédié
helm install my-nginx bitnami/nginx --namespace web --create-namespace

# Installation avec valeurs personnalisées
helm install my-nginx bitnami/nginx \
  --set service.type=ClusterIP \
  --set replicaCount=3

Vérifier le déploiement

# Lister les releases
helm list

# Statut détaillé
helm status my-nginx

# Voir les ressources créées
kubectl get all -l app.kubernetes.io/instance=my-nginx
À retenir : Une release Helm est une instance d'un chart déployée dans le cluster. Vous pouvez avoir plusieurs releases du même chart.

Comment personnaliser un déploiement Helm ?

Le fichier values.yaml

Chaque chart contient un fichier values.yaml définissant les valeurs par défaut. Consultez les valeurs disponibles :

# Afficher les valeurs par défaut
helm show values bitnami/nginx > values.yaml

# Installer avec un fichier de valeurs personnalisé
helm install my-nginx bitnami/nginx -f my-values.yaml

Exemple de personnalisation

# my-values.yaml
replicaCount: 3

image:
  tag: "1.25.3"

service:
  type: LoadBalancer
  port: 80

resources:
  requests:
    memory: "128Mi"
    cpu: "100m"
  limits:
    memory: "256Mi"
    cpu: "200m"

ingress:
  enabled: true
  hostname: app.example.com

Ces configurations s'alignent avec les pratiques décrites dans le Mémo Kubernetes : objets, ressources API et raccourcis.

Comment mettre à jour et rollback ?

Mise à jour d'une release

# Modifier les valeurs
helm upgrade my-nginx bitnami/nginx --set replicaCount=5

# Ou avec un fichier values
helm upgrade my-nginx bitnami/nginx -f updated-values.yaml

# Voir l'historique des révisions
helm history my-nginx

Rollback vers une version précédente

# Rollback vers la révision 1
helm rollback my-nginx 1

# Vérifier le statut
helm status my-nginx

Le rollback instantané offre une sécurité que les déploiements manuels ne peuvent égaler.

Comment créer votre propre chart ?

Structure d'un chart

# Créer un nouveau chart
helm create my-app

# Structure générée
my-app/
├── Chart.yaml          # Métadonnées du chart
├── values.yaml         # Valeurs par défaut
├── templates/          # Templates Kubernetes
│   ├── deployment.yaml
│   ├── service.yaml
│   ├── ingress.yaml
│   └── _helpers.tpl    # Fonctions helper
└── charts/             # Dépendances

Template basique

# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ include "my-app.fullname" . }}
  labels:
    {{- include "my-app.labels" . | nindent 4 }}
spec:
  replicas: {{ .Values.replicaCount }}
  selector:
    matchLabels:
      {{- include "my-app.selectorLabels" . | nindent 6 }}
  template:
    metadata:
      labels:
        {{- include "my-app.selectorLabels" . | nindent 8 }}
    spec:
      containers:
        - name: {{ .Chart.Name }}
          image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
          ports:
            - containerPort: {{ .Values.service.port }}
À retenir : Les templates Helm utilisent Go templates. Les variables entre {{ }} sont remplacées par les valeurs de values.yaml.

Debugging Helm : résoudre les erreurs courantes

Prévisualiser les manifestes

# Rendre les templates sans installer
helm template my-nginx bitnami/nginx -f values.yaml

# Mode debug
helm install my-nginx bitnami/nginx --dry-run --debug

Erreurs fréquentes

ErreurCauseSolution
Error: INSTALLATION FAILEDManifestes invalidesUtiliser --dry-run --debug
cannot re-use a nameRelease existe déjàDésinstaller ou choisir un autre nom
context deadline exceededTimeout réseauVérifier la connexion cluster

Pour le diagnostic approfondi des pods, consultez Debugger un pod en CrashLoopBackOff : causes, diagnostic et solutions.

Commandes Helm essentielles

# Gestion des repos
helm repo add [name] [url]
helm repo update
helm repo list

# Recherche
helm search repo [keyword]
helm search hub [keyword]

# Installation et gestion
helm install [release] [chart]
helm upgrade [release] [chart]
helm rollback [release] [revision]
helm uninstall [release]

# Inspection
helm list
helm status [release]
helm history [release]
helm get values [release]

Tutoriel Helm Kubernetes débutant : checklist de démarrage

ÉtapeCommandeValidation
Installer Helmbrew install helmhelm version
Ajouter repohelm repo add bitnami ...helm repo list
Premier installhelm install test bitnami/nginxhelm list
Personnaliser-f values.yamlhelm get values
Mettre à jourhelm upgradehelm history
Nettoyerhelm uninstall testhelm list

Pour approfondir le déploiement et mise en production Kubernetes, Helm est un outil incontournable.

Passez à l'action : déployez votre premier chart

Ce tutoriel Helm Kubernetes débutant vous a donné les bases pour installer, configurer et gérer des applications Kubernetes. Selon le CNCF Annual Survey 2025, 82% des organisations exécutent Kubernetes en production. Maîtriser Helm vous positionne parmi les professionnels capables de déployer rapidement et fiablement.

Installez Helm maintenant, déployez un chart nginx, puis personnalisez-le avec vos propres values. Pour aller plus loin :

Consultez Déployer votre premier pod Kubernetes en 15 minutes pour les fondamentaux avant Helm, ou explorez les Tutoriels et guides pratiques Kubernetes. Pour approfondir, consultez notre créer cluster Kubernetes cloud AWS GCP Azure.

Contactez nos conseillers pour organiser votre formation.