Bereitstellung und Aktualisierung des NGINX-Microservice

KubernetesKubernetesBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In dieser Herausforderung werden Sie Ihre Kubernetes-Fähigkeiten als Junior-DevOps-Engineer in einem Technologie-Startup unter Beweis stellen. Sie werden eine Webanwendung aktualisieren, die NGINX als Microservice verwendet, und dabei sicherstellen, dass die Dienstunterbrechung minimiert wird. Die Aufgaben umfassen die Aktualisierung einer Kubernetes-Deployment, um eine neuere Image-Version zu verwenden, und die Überprüfung der erfolgreichen Rolling-Update.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedCommandsGroup(["Advanced Commands"]) kubernetes(("Kubernetes")) -.-> kubernetes/AdvancedDeploymentGroup(["Advanced Deployment"]) kubernetes(("Kubernetes")) -.-> kubernetes/BasicCommandsGroup(["Basic Commands"]) kubernetes/BasicCommandsGroup -.-> kubernetes/create("Create") kubernetes/AdvancedCommandsGroup -.-> kubernetes/apply("Apply") kubernetes/AdvancedDeploymentGroup -.-> kubernetes/rollout("Rollout") subgraph Lab Skills kubernetes/create -.-> lab-434821{{"Bereitstellung und Aktualisierung des NGINX-Microservice"}} kubernetes/apply -.-> lab-434821{{"Bereitstellung und Aktualisierung des NGINX-Microservice"}} kubernetes/rollout -.-> lab-434821{{"Bereitstellung und Aktualisierung des NGINX-Microservice"}} end

Aktualisierung der NGINX-Deployment

Als Junior-DevOps-Engineer ist es Ihre Aufgabe, die bestehende Deployment zu aktualisieren, um die Dienstunterbrechung so gering wie möglich zu halten.

Voraussetzungen

Stellen Sie vor Beginn sicher, dass Sie Folgendes haben:

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

Überprüfen Sie den Status der Deployment:

kubectl get deployments

Aufgaben

  1. Aktualisieren Sie die web-app-Deployment, um das Image nginx:1.24.0-alpine zu verwenden.
  2. Vergewissern Sie sich, dass die Aktualisierung mithilfe von Rolling Updates erfolgreich durchgeführt wurde und dass es keine Ausfallzeit gab.

Anforderungen

  • Verwenden Sie kubectl-Befehle, um die Aktualisierung durchzuführen.
  • Stellen Sie sicher, dass die Deployment während der Aktualisierung ohne Ausfallzeit weiterhin funktioniert.
  • Verwenden Sie kubectl rollout status, um den Fortschritt der Aktualisierung zu überwachen.
  • Überprüfen Sie die Pod-Images, um die aktualisierte Version zu verifizieren.

Tipps

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

Zusammenfassung

In dieser Herausforderung haben Sie Ihre Kubernetes-Fähigkeiten unter Beweis gestellt, indem Sie die Deployment einer NGINX-Webanwendung auf eine neuere Image-Version aktualisiert haben. Sie haben während des Prozesses sichergestellt, dass es keine Ausfallzeit gab, und die erfolgreiche Durchführung des Rolling Updates verifiziert. Diese Übung zeigt die Wichtigkeit der Aufrechterhaltung einer hohen Verfügbarkeit bei der Durchführung von Aktualisierungen in einer Kubernetes-Umgebung auf.