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)?
- 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
- 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
- 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.
Weiter: 9 weitere Fragen zu Grundlagen von Cloud und Containern