0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Leçon

Charts Helm et manifestes Kubernetes en intégration et déploiement continus

Empaquetez et versionnez les déploiements Kubernetes avec des charts Helm, modélisez la configuration pour chaque environnement et automatisez les mises en production des charts depuis GitHub Actions.

Charts Helm et manifestes Kubernetes en intégration et déploiement continus est une leçon CI/CD with GitHub Actions & DevOps Pipelines gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage CI/CD with GitHub Actions & DevOps Pipelines, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours CI/CD with GitHub Actions & DevOps Pipelines comprend 4 leçons au total.

Le problème de prolifération des manifestes

Déployer sur Kubernetes signifie rédiger de nombreux manifestes YAML : des déploiements, des services, des ConfigMaps et des ressources Ingress. Les copier pour chaque environnement devient rapidement ingérable.

Helm résout ce problème en regroupant les manifestes dans un paquet réutilisable et versionné.

Qu’est-ce que Helm ?

Helm est le gestionnaire de paquets de Kubernetes. Un paquet est un ensemble de manifestes utilisant des modèles, accompagné de valeurs par défaut.

  • Chart.yaml — métadonnées et version du paquet
  • values.yaml — configuration par défaut
  • templates/ — modèles de manifestes

Structure d’un paquet

Voici à quoi ressemble le répertoire d’un paquet courant. Helm génère les modèles à l’aide des valeurs pour produire le YAML Kubernetes final.

mychart/
  Chart.yaml
  values.yaml
  templates/
    deployment.yaml
    service.yaml

Créer des modèles avec des valeurs

Les modèles utilisent des espaces réservés qui récupèrent leurs valeurs dans values.yaml. Un même modèle peut ainsi servir à plusieurs environnements.

# templates/deployment.yaml
spec:
  replicas: {{ .Values.replicaCount }}
  image: {{ .Values.image.repository }}:{{ .Values.image.tag }}

Valeurs propres à chaque environnement

Conservez un fichier de valeurs distinct pour chaque environnement et fournissez-le lors de l’installation. L’environnement de préproduction peut exécuter 1 réplique, et la production 5.

helm upgrade --install myapp ./mychart \
  -f values-prod.yaml \
  --namespace production

Installation ou mise à niveau

La commande helm upgrade --install est idempotente : elle installe la version déployée si celle-ci n’existe pas, ou la met à niveau si elle existe.

Cette commande unique est idéale pour l’intégration et le déploiement continus, car elle fonctionne aussi bien lors du premier déploiement que des suivants.

Définir la balise de l’image dans l’intégration continue

Dans l’intégration continue, vous injectez généralement la balise de l’image fraîchement construite (souvent le SHA de la validation) à l’aide de --set.

Cela associe la version Kubernetes à l’artefact exact que votre chaîne d’exécution vient de produire.

  - run: |
      helm upgrade --install myapp ./mychart \
        --set image.tag=${{ github.sha }}

Vérifier les paquets

Avant le déploiement, validez le paquet avec helm lint et générez son rendu avec helm template afin de détecter rapidement les erreurs YAML ou les erreurs de modèle.

  - run: helm lint ./mychart
  - run: helm template myapp ./mychart -f values-prod.yaml

Restauration avec Helm

Helm suit chaque mise en production sous la forme d’une révision numérotée. Si un déploiement échoue, vous pouvez revenir instantanément à la version précédente.

Cette approche s’accorde bien avec les pratiques de reprise après sinistre, car elle est rapide et déterministe.

helm history myapp
helm rollback myapp 3

Empaquetage et publication

Les paquets Helm peuvent être regroupés dans des archives versionnées, puis envoyés vers un dépôt de paquets ou un registre OCI, comme les images de conteneurs.

D’autres équipes peuvent ainsi utiliser votre paquet en indiquant sa version.

helm package ./mychart
helm push myapp-1.2.0.tgz oci://registry.example.com/charts

Une tâche de déploiement Helm

Voici comment assembler le tout : authentifiez-vous auprès du cluster, configurez Helm, puis effectuez la mise à niveau. L’action Azure setup-helm installe la CLI sur l’exécuteur.

  - uses: azure/setup-helm@v4
  - run: |
      helm upgrade --install myapp ./mychart \
        -f values-prod.yaml \
        --set image.tag=${{ github.sha }} \
        --wait

Vérification rapide

Évaluez votre compréhension de Helm dans le cadre de l’intégration et de la livraison continues.

Récapitulatif

Vous avez appris à déployer des applications Kubernetes avec Helm.

  • Les paquets regroupent des manifestes contenant des modèles ainsi que values.yaml
  • Les fichiers de valeurs propres à chaque environnement configurent la préproduction et la production
  • helm upgrade --install est la commande de déploiement CI idempotente
  • Les révisions permettent des restaurations instantanées, et les paquets peuvent être publiés comme des images

Helm transforme des manifestes bruts en versions publiées et réutilisables.

Questions Fréquemment Posées

La leçon « Charts Helm et manifestes Kubernetes en intégration et déploiement continus » est-elle gratuite ?

Oui — le texte complet de « Charts Helm et manifestes Kubernetes en intégration et déploiement continus » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours CI/CD with GitHub Actions & DevOps Pipelines, passe à CoddyKit PRO. Le cours CI/CD with GitHub Actions & DevOps Pipelines comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Charts Helm et manifestes Kubernetes en intégration et déploiement continus » ?

Empaquetez et versionnez les déploiements Kubernetes avec des charts Helm, modélisez la configuration pour chaque environnement et automatisez les mises en production des charts depuis GitHub Actions. Tu pratiques CI/CD with GitHub Actions & DevOps Pipelines avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer CI/CD with GitHub Actions & DevOps Pipelines ?

Aucune expérience préalable n'est requise. CI/CD with GitHub Actions & DevOps Pipelines sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.

Combien de temps prend la leçon « Charts Helm et manifestes Kubernetes en intégration et déploiement continus » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon CI/CD with GitHub Actions & DevOps Pipelines ?

Oui. Chaque leçon CI/CD with GitHub Actions & DevOps Pipelines inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Création d’images Docker avec Actions
  2. Envoi d’images vers des registres
  3. Déploiement sur Kubernetes avec Actions
  4. Charts Helm et manifestes Kubernetes en intégration et déploiement continus
← Retour à CI/CD with GitHub Actions & DevOps Pipelines