Aller au contenu

TP 17 : Utilisation générique de Helm

Maîtriser les commandes Helm essentielles pour gérer des charts Kubernetes.

Ce TP permet de voir comment :

  • ajouter et mettre à jour des dépôts de charts
  • rechercher et installer un chart
  • personnaliser une installation avec --set ou un fichier values.yaml
  • lister, mettre à jour et supprimer des releases
  • créer et déployer un chart personnalisé
  • Helm installé
  • Un cluster Kubernetes fonctionnel (Kind voir TP 14)
  • kubectl installé
Fenêtre de terminal
helm version
kubectl version --client
kubectl cluster-info

Helm dispose de dépôts publics contenant des charts prêts à l’emploi.

Ajouter un dépôt (par exemple, Bitnami)

Fenêtre de terminal
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Fenêtre de terminal
helm search repo nginx

Pour déployer une application via Helm :

Fenêtre de terminal
helm install <release-name> <chart-name>

Exemple : Installer un serveur Nginx

Fenêtre de terminal
helm install my-nginx bitnami/nginx

Par défaut, Helm déploie l’application dans le namespace default.

Vous pouvez personnaliser un chart avec des paramètres spécifiques.

Définir des paramètres directement dans la commande

Fenêtre de terminal
helm install my-nginx bitnami/nginx --set replicaCount=2

Créez un fichier values.yaml

replicaCount: 2
service:
type: LoadBalancer

Puis installez le chart en utilisant ce fichier

Fenêtre de terminal
helm install my-nginx bitnami/nginx -f values.yaml
Fenêtre de terminal
helm list -A
Fenêtre de terminal
helm upgrade <release-name> <chart-name> --set <key>=<value>

Exemple

Fenêtre de terminal
helm upgrade my-nginx bitnami/nginx --set replicaCount=3
Fenêtre de terminal
helm uninstall <release-name>

Exemple

Fenêtre de terminal
helm uninstall my-nginx

Pour créer un chart personnalisé

Fenêtre de terminal
helm create my-chart

Cela génère une structure de base

my-chart/
├── Chart.yaml
├── values.yaml
├── templates/
├── deployment.yaml
├── service.yaml
└── ...

Modifiez les fichiers dans templates/ pour adapter les ressources Kubernetes à vos besoins.

Fenêtre de terminal
helm install my-release ./my-chart