Déployer et mettre à jour un microservice NGINX

KubernetesBeginner
Pratiquer maintenant

Introduction

Dans ce défi, vous allez démontrer vos compétences Kubernetes en tant qu'ingénieur DevOps junior au sein d'une startup technologique. Votre mission consiste à mettre à jour une application web utilisant NGINX comme microservice, tout en garantissant une interruption de service minimale. Les tâches incluent la mise à jour d'un déploiement Kubernetes vers une version d'image plus récente et la vérification du bon déroulement de la mise à jour progressive (rolling update).

Mettre à jour le déploiement NGINX

En tant qu'ingénieur DevOps junior, votre tâche est de mettre à jour le déploiement existant afin d'assurer une continuité de service totale.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

minikube start
kubectl apply -f ~/project/k8s-manifests/nginx-deployment.yaml

Vérifiez l'état du déploiement :

kubectl get deployments

Tâches

  1. Mettez à jour le déploiement web-app pour utiliser l'image nginx:1.24.0-alpine.
  2. Vérifiez que la mise à jour a été effectuée avec succès via une stratégie de mise à jour progressive, garantissant l'absence d'interruption de service.

Exigences

  • Utilisez les commandes kubectl pour effectuer la mise à jour.
  • Confirmez que le déploiement reste fonctionnel sans temps d'arrêt pendant l'opération.
  • Utilisez kubectl rollout status pour surveiller la progression de la mise à jour.
  • Vérifiez les images des pods pour confirmer la nouvelle version.

Conseils

  • Utilisez kubectl edit deployment web-app ou kubectl set image pour modifier l'image.
  • Surveillez l'état du déploiement avec kubectl rollout status.
  • Validez les pods en cours d'exécution et leurs images de conteneur avec kubectl get pods -o jsonpath.
✨ Vérifier la solution et pratiquer

Résumé

Au cours de ce défi, vous avez démontré votre maîtrise de Kubernetes en mettant à jour le déploiement d'une application web NGINX vers une version d'image plus récente. Vous avez assuré une disponibilité totale pendant le processus et validé le succès de la mise à jour progressive. Cet exercice souligne l'importance du maintien de la haute disponibilité lors des opérations de maintenance dans un environnement Kubernetes.