Aller au contenu

TP 17 : Utilisation de Helm

Déployer, personnaliser et gérer des applications Kubernetes avec Helm.

Ce TP permet de voir comment :

  • configurer Helm avec un cluster Kubernetes
  • installer un chart Helm depuis un dépôt
  • personnaliser une installation avec un fichier values.yaml
  • mettre à jour une release
  • effectuer un rollback vers une version précédente
  • supprimer une release
  • Cluster Kubernetes fonctionnel : Utilisez Minikube, Kind, ou un cluster réel.
  • Helm installé : Installation de Helm.
  • kubectl installé : Installation de kubectl.

Vérifiez l’accès à votre cluster Kubernetes avec kubectl

Fenêtre de terminal
kubectl cluster-info

Installez Helm et vérifiez la version

Fenêtre de terminal
helm version

Ajoutez un dépôt Helm, par exemple Bitnami

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

Installez l’application Nginx à partir du dépôt Bitnami

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

Vérifiez que l’application est déployée

Fenêtre de terminal
kubectl get pods --namespace nginx
kubectl get services --namespace nginx

Listez les releases Helm installées

Fenêtre de terminal
helm list

Consultez les valeurs par défaut du chart Nginx

Fenêtre de terminal
helm show values bitnami/nginx > nginx-default-values.yaml

Créez un fichier custom-values.yaml

replicaCount: 2
service:
type: LoadBalancer

Mettez à jour votre release avec ces valeurs

Fenêtre de terminal
helm upgrade my-nginx bitnami/nginx -f custom-values.yaml -n <nom-du-namespace>

Vérifiez que les modifications ont été appliquées

Fenêtre de terminal
kubectl get pods --namespace nginx
kubectl get services --namespace nginx

Revenez à une version précédente

Fenêtre de terminal
helm rollback my-nginx 1

Vérifiez l’état des pods après le rollback

Fenêtre de terminal
kubectl get pods --namespace nginx
Fenêtre de terminal
helm uninstall my-nginx

Vérifiez que les ressources associées ont été supprimées

Fenêtre de terminal
kubectl get all --namespace nginx