NGINX-Microservice bereitstellen und aktualisieren

KubernetesBeginner
Jetzt üben

Einführung

In dieser Herausforderung stellen Sie Ihre Kubernetes-Kenntnisse als Junior DevOps Engineer in einem Tech-Startup unter Beweis. Ihre Aufgabe ist es, eine Webanwendung auf Basis von NGINX zu aktualisieren und dabei sicherzustellen, dass der Dienst ohne Unterbrechungen verfügbar bleibt. Die Aufgaben umfassen die Aktualisierung eines Kubernetes-Deployments auf eine neuere Image-Version sowie die Überprüfung des erfolgreichen Rolling Updates.

NGINX-Deployment aktualisieren

Als Junior DevOps Engineer besteht Ihre Aufgabe darin, das bestehende Deployment so zu aktualisieren, dass der laufende Betrieb nicht beeinträchtigt wird.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass die Umgebung bereit ist:

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

Überprüfen Sie den Status des Deployments:

kubectl get deployments

Aufgaben

  1. Aktualisieren Sie das Deployment web-app, sodass das Image nginx:1.24.0-alpine verwendet wird.
  2. Verifizieren Sie, dass die Aktualisierung mittels Rolling Update durchgeführt wurde, um eine Null-Ausfallzeit (Zero Downtime) zu gewährleisten.

Anforderungen

  • Verwenden Sie kubectl-Befehle für die Aktualisierung.
  • Bestätigen Sie, dass das Deployment während des Updates durchgehend funktionsfähig bleibt.
  • Nutzen Sie kubectl rollout status, um den Fortschritt der Aktualisierung zu überwachen.
  • Überprüfen Sie die Images der Pods, um die neue Version zu bestätigen.

Hinweise

  • Verwenden Sie kubectl edit deployment web-app oder kubectl set image, um das Image zu ändern.
  • Überwachen Sie den Rollout-Status mit kubectl rollout status.
  • Validieren Sie die laufenden Pods und deren Container-Images mit kubectl get pods -o jsonpath.
✨ Lösung prüfen und üben

Zusammenfassung

In dieser Herausforderung haben Sie Ihre Kubernetes-Kompetenz bewiesen, indem Sie ein NGINX-Webanwendungs-Deployment auf eine neuere Image-Version aktualisiert haben. Sie haben sichergestellt, dass während des Prozesses keine Ausfallzeiten entstanden sind, und den Erfolg des Rolling Updates verifiziert. Diese Übung verdeutlicht, wie wichtig die Aufrechterhaltung der Hochverfügbarkeit bei Aktualisierungen in einer Kubernetes-Umgebung ist.