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 paquetvalues.yaml— configuration par défauttemplates/— 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.yamlCré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 productionInstallation 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.yamlRestauration 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 3Empaquetage 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/chartsUne 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 }} \
--waitVé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 --installest 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
- Création d’images Docker avec Actions
- Envoi d’images vers des registres
- Déploiement sur Kubernetes avec Actions
- Charts Helm et manifestes Kubernetes en intégration et déploiement continus