infrastructure

Helm

Gestionnaire de packages pour Kubernetes permettant de deployer des applications complexes.

Definition

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

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

Concepts cles

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 parametres de configuration qui personnalisent un chart. Definis dans values.yaml.

Repository

Un depot 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
Complexite Moyenne Faible
Packaging Charts (reutilisables) Overlays
Ecosystem Artifact Hub (milliers de charts) Pas de registry
Cas ideal 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 frequentes

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 liees

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.