Déployer et mettre à jour le microservice NGINX

KubernetesKubernetesBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce défi, vous allez démontrer vos compétences en matière de Kubernetes en tant que jeune ingénieur DevOps dans une startup technologique. Vous allez mettre à jour une application web utilisant NGINX comme microservice, en veillant à ce que la perturbation du service soit minimale. Les tâches consistent à mettre à jour un déploiement Kubernetes pour utiliser une version plus récente de l'image et à vérifier que la mise à jour incrémentielle s'est déroulée avec succès.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedCommandsGroup(["Advanced Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedDeploymentGroup(["Advanced Deployment"]) kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/AdvancedCommandsGroup -.-> kubernetes/apply("Apply") kubernetes/AdvancedDeploymentGroup -.-> kubernetes/rollout("Rollout") subgraph Lab Skills kubernetes/create -.-> lab-434821{{"Déployer et mettre à jour le microservice NGINX"}} kubernetes/apply -.-> lab-434821{{"Déployer et mettre à jour le microservice NGINX"}} kubernetes/rollout -.-> lab-434821{{"Déployer et mettre à jour le microservice NGINX"}} end

Mise à jour du déploiement NGINX

En tant que jeune ingénieur DevOps, votre tâche consiste à mettre à jour le déploiement existant en veillant à ce que la perturbation du service soit minimale.

Prérequis

Avant de commencer, assurez-vous d'avoir les é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 grâce aux mises à jour incrémentielles (rolling updates), en veillant à ce qu'il n'y ait aucun temps d'arrêt.

Exigences

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

Conseils

  • Utilisez kubectl edit deployment web-app ou kubectl set image pour mettre à jour l'image.
  • Surveillez l'état de la mise à jour incrémentielle en utilisant kubectl rollout status.
  • Validez les pods en cours d'exécution et leurs images de conteneurs en utilisant kubectl get pods -o jsonpath.
✨ Vérifier la solution et pratiquer

Résumé

Dans ce défi, vous avez démontré vos compétences en Kubernetes en mettant à jour le déploiement d'une application web NGINX vers une version plus récente de l'image. Vous avez assuré un temps d'arrêt nul pendant le processus et vérifié le succès de la mise à jour incrémentielle (rolling update). Cet exercice souligne l'importance de maintenir une haute disponibilité lors de la réalisation de mises à jour dans un environnement Kubernetes.