⛵
infrastructure

Helm

Gestionnaire de packages pour Kubernetes permettant de déployer des applications complexes.

Définition

Helm est le gestionnaire de packages pour Kubernetes. Il permet de définir, installer et mettre à jour des applications Kubernetes complexes à l'aide de "charts" — des packages preconfigures et parametrables.

Helm est au Kubernetes ce que apt est à Debian ou npm à Node.js.

Concepts clés

Chart

Un package Helm contenant tous les manifestes Kubernetes (Deployments, Services, ConfigMaps, etc.) avec des templates parametrables.

Release

Une instance d'un chart deployee dans un cluster Kubernetes. Chaque installation cree une release distincte.

Values

Les paramètres de configuration qui personnalisent un chart. Définis dans values.yaml.

Repository

Un dépôt de charts Helm (comme un registry npm). Exemples : Bitnami, Artifact Hub.

Utilisation

# Ajouter un repository
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update

# Rechercher un chart
helm search repo postgresql

# Installer un chart
helm install ma-db bitnami/postgresql \
  --set auth.postgresPassword=secret \
  --set primary.persistence.size=20Gi

# Voir les releases
helm list

# Mettre a jour
helm upgrade ma-db bitnami/postgresql --set primary.replicas=2

# Desinstaller
helm uninstall ma-db

Structure d'un chart

mon-chart/
  Chart.yaml          # Metadata (nom, version, description)
  values.yaml         # Valeurs par defaut
  templates/
    deployment.yaml   # Template de Deployment
    service.yaml      # Template de Service
    ingress.yaml      # Template d'Ingress
    _helpers.tpl      # Fonctions utilitaires
  charts/             # Dependances (sub-charts)

Templates

# templates/deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: {{ .Release.Name }}-app
spec:
  replicas: {{ .Values.replicas | default 1 }}
  template:
    spec:
      containers:
        - name: app
          image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
          ports:
            - containerPort: {{ .Values.service.port }}

Helm vs Kustomize

Helm Kustomize
Approche Templates + values Patches sur des bases
Complexité Moyenne Faible
Packaging Charts (réutilisables) Overlays
Ecosystem Artifact Hub (milliers de charts) Pas de registry
Cas idéal Apps complexes, distribution Petites variations d'env

Besoin d'aide technique ?

Decrivez votre projet pour des conseils personnalises par nos experts.

Recevoir des conseils

Questions fréquentes

Helm est-il necessaire pour Kubernetes ?
Non, vous pouvez utiliser des manifestes YAML simples ou Kustomize. Mais Helm simplifie enormement la gestion des applications complexes (PostgreSQL, Redis, Prometheus) et la reutilisation.
Helm 2 ou Helm 3 ?
Helm 3 uniquement. Helm 2 est obsolete depuis 2020. Helm 3 a supprime Tiller (composant serveur) pour une meilleure securite.
Ou trouver des charts Helm ?
Artifact Hub (artifacthub.io) est le registre principal. Bitnami maintient les charts les plus populaires (PostgreSQL, Redis, Nginx, etc.).

Pages liées

Chaque semaine, le meilleur de la tech française

Tendances, salaires, outils et opportunités — directement dans votre boîte mail.

Gratuit. Desabonnement en un clic. Pas de spam.