Aller au contenu principal

Lab 10.4 - Helmfile et Multi-environnements

Objectifs du Lab

À la fin de ce lab, vous serez capable de:

  • Installer Helmfile.
  • Comprendre la structure d'un helmfile.yaml.
  • Gérer plusieurs environnements (dev, staging, prod).
  • Déployer des applications avec Helmfile.

Durée Estimée

45-60 minutes

Prérequis

  • Helm installé et configuré.
  • Cluster Kubernetes local fonctionnel.
  • Connaissances sur Helm (Labs précédents).

Partie 1: Installation de Helmfile

Étape 1.1: Installer Helmfile

Sur Linux/Mac:

wget https://github.com/helmfile/helmfile/releases/download/v0.153.1/helmfile_0.153.1_linux_amd64.tar.gz
tar -xzf helmfile_0.153.1_linux_amd64.tar.gz
sudo mv helmfile /usr/local/bin/

Sur Windows (avec Chocolatey):

choco install helmfile

Vérifiez:

helmfile version

Partie 2: Création d'un helmfile.yaml

Étape 2.1: Créer un helmfile.yaml Simple

Créez helmfile.yaml:

repositories:
- name: bitnami
url: https://charts.bitnami.com/bitnami

releases:
- name: nginx
namespace: default
chart: bitnami/nginx
values:
- replicaCount: 2
service:
type: ClusterIP

Étape 2.2: Déployer avec Helmfile

helmfile sync

Partie 3: Multi-environnements

Étape 3.1: Créer la Structure

Créez des dossiers pour les environnements:

mkdir -p environments/{dev,staging,prod}

Étape 3.2: Créer helmfile.yaml avec Environnements

Créez helmfile.yaml:

environments:
default:
values:
- environments/dev/values.yaml
staging:
values:
- environments/staging/values.yaml
prod:
values:
- environments/prod/values.yaml

releases:
- name: my-app
namespace: {{ .Values.namespace }}
chart: bitnami/nginx
values:
- replicaCount: {{ .Values.replicaCount }}

Étape 3.3: Créer les Fichiers de Valeurs

Créez environments/dev/values.yaml:

namespace: dev
replicaCount: 1

Créez environments/staging/values.yaml:

namespace: staging
replicaCount: 2

Créez environments/prod/values.yaml:

namespace: prod
replicaCount: 3

Étape 3.4: Déployer pour un Environnement

# Développement
helmfile -e dev sync

# Staging
helmfile -e staging sync

# Production
helmfile -e prod sync

Partie 4: Gestion avec Helmfile

Étape 4.1: Lister les Releases

helmfile list

Étape 4.2: Supprimer

helmfile destroy

Résumé du Lab

Dans ce lab, vous avez utilisé Helmfile pour gérer des déploiements multi-environnements. Vous avez appris à structurer vos configurations et à déployer dans différents environnements.


Prochaines Étapes

Ce module sur Helm est maintenant complet. Vous pouvez passer au Module 11 sur Monitoring et Observabilité.

Module 11: Monitoring et Observabilité


Lab créé le: Décembre 2024