Grundlagen von Cloud und Containern

In einem Kubernetes-Deployment wird das Container-Image in der Pod-Vorlage auf eine neue Version geändert. Was geschieht mit der Standard-Update-Strategie (RollingUpdate)?

  1. AEin neues ReplicaSet wird erzeugt; Pods der neuen Version kommen hinzu, während Pods der alten Version abgebaut werden. Das alte ReplicaSet bleibt für ein Rollback mit 0 Pods bestehen
  2. BDas Container-Image in den laufenden Pods wird an Ort und Stelle durch die neue Version ersetzt, ohne die Pods neu zu erzeugen, sodass sich weder IP-Adressen noch Namen der Pods ändern
  3. CAlle Pods der alten Version werden gleichzeitig gelöscht und dann die Pods der neuen Version gemeinsam erzeugt, sodass der Dienst während des Updates vorübergehend ausfällt
Antwort und Erläuterung anzeigen

Antwort: A. Ein neues ReplicaSet wird erzeugt; Pods der neuen Version kommen hinzu, während Pods der alten Version abgebaut werden. Das alte ReplicaSet bleibt für ein Rollback mit 0 Pods bestehen

Ändert sich die Pod-Vorlage, erzeugt ein Deployment ein ReplicaSet für die neue Vorlage und baut die Pods des alten ReplicaSets schrittweise ab, während es prüft, dass die neuen Pods bereit sind. Auch während des Updates bearbeitet daher eine bestimmte Zahl von Pods weiter Anfragen. Das alte ReplicaSet bleibt mit 0 Pods erhalten, sodass kubectl rollout undo zur vorherigen Version zurückkehren kann. Die Strategie, die zuerst alle Pods löscht und dann neu erzeugt, heißt Recreate und wird nur verwendet, wenn sie ausdrücklich angegeben ist.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Grundlagen von Cloud und Containern

  1. Ein Deployment mit replicas: 10 hat die Rolling-Update-Einstellungen maxSurge: 25% und maxUnavailable: 25%. Welche Kombination gibt die Obergrenze der Gesamtzahl der Pods und die Untergrenze der Zahl verfügbarer Pods während eines Updates richtig an?
  2. In Kubernetes erhält ein Pod bei jedem Neuerzeugen eine andere IP-Adresse. Welche Ressource ermöglicht es anderen Anwendungen, sich über einen gleichbleibenden Namen und eine gleichbleibende Adresse mit mehreren per Label ausgewählten Pods zu verbinden, wobei die Last auf diese verteilt wird?
  3. In einem Kubernetes-Cluster sollen HTTPS-Anfragen, die für einen Hostnamen eintreffen, an den Service api gehen, wenn der Pfad mit /api beginnt, und sonst an den Service web. Welche Ressource eignet sich, um diese Verteilungsregel festzulegen?
  4. Das Passwort einer Datenbank wird in einem Kubernetes-Secret gespeichert. Welche Beschreibung eines Secrets ist richtig?
  5. Eine Webanwendung kann nach dem Start etwa 60 Sekunden lang, während sie ihren Cache lädt, keine Anfragen bearbeiten und liefert in dieser Zeit für /ready den Status 503. Welche Wirkung hat es, die obigen Einstellungen zum Container des Pods hinzuzufügen?