Aller au contenu principal

Lab 10.3 - Création d'un Chart Personnalisé

Objectifs du Lab

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

  • Créer un Chart Helm avec helm create.
  • Comprendre la structure d'un Chart.
  • Modifier les templates.
  • Utiliser les valeurs dans les templates.
  • Packager et installer votre Chart.

Durée Estimée

60-75 minutes

Prérequis

  • Helm installé et configuré.
  • Cluster Kubernetes local fonctionnel.
  • Connaissances sur les Charts Helm (Chapitre 10.3).

Partie 1: Création d'un Chart

Étape 1.1: Créer un Nouveau Chart

Créez un nouveau Chart:

helm create my-app-chart

Examinez la structure:

tree my-app-chart
# ou
ls -la my-app-chart/

Partie 2: Structure d'un Chart

Étape 2.1: Examiner les Fichiers

Examinez les fichiers principaux:

# Chart.yaml
cat my-app-chart/Chart.yaml

# values.yaml
cat my-app-chart/values.yaml

# Templates
ls my-app-chart/templates/

Partie 3: Personnalisation du Chart

Étape 3.1: Modifier Chart.yaml

Éditez my-app-chart/Chart.yaml:

apiVersion: v2
name: my-app-chart
description: Un Chart Helm personnalisé pour mon application
type: application
version: 0.1.0
appVersion: "1.0"

Étape 3.2: Modifier values.yaml

Éditez my-app-chart/values.yaml:

replicaCount: 2

image:
repository: nginx
pullPolicy: IfNotPresent
tag: "1.20"

service:
type: ClusterIP
port: 80

ingress:
enabled: false

Partie 4: Modification des Templates

Étape 4.1: Examiner un Template

Regardez le template de Deployment:

cat my-app-chart/templates/deployment.yaml

Étape 4.2: Personnaliser le Template

Modifiez le template pour ajouter des variables d'environnement:

# Dans deployment.yaml, ajoutez dans le conteneur:
env:
- name: APP_NAME
value: {{ .Values.nameOverride | default .Chart.Name }}

Partie 5: Test et Installation

Étape 5.1: Valider le Chart

Validez la syntaxe:

helm lint my-app-chart

Étape 5.2: Dry-Run

Testez sans installer:

helm install my-app my-app-chart --dry-run --debug

Étape 5.3: Installer le Chart

Installez votre Chart:

helm install my-app my-app-chart

Vérifiez:

helm list
kubectl get all -l app.kubernetes.io/instance=my-app

Partie 6: Packaging

Étape 6.1: Packager le Chart

Créez un package:

helm package my-app-chart

Cela crée un fichier .tgz.

Étape 6.2: Installer depuis le Package

Installez depuis le package:

helm install my-app-from-package my-app-chart-0.1.0.tgz

Partie 7: Nettoyage

helm uninstall my-app my-app-from-package
rm -rf my-app-chart my-app-chart-0.1.0.tgz

Résumé du Lab

Dans ce lab, vous avez créé votre premier Chart Helm personnalisé. Vous avez appris la structure d'un Chart, à modifier les templates, et à packager votre Chart.


Prochaines Étapes

Le dernier lab de ce module vous montrera comment utiliser Helmfile pour la gestion multi-environnements.

Lab 10.4: Helmfile et Multi-environnements


Lab créé le: Décembre 2024