2017-02-20 5 views
3

Wir haben eine Anwendung mit 4 Pods mit einem Load Balancer laufen! Wir möchten das rollende Update ausprobieren, aber wir sind nicht sicher, was passiert, wenn ein Pod ausfällt! Die Dokumentation ist unklar! Besonders dieses Zitat von Termination Of Pods:Graceful Kündigung von Kubernetes Pods

Pod aus Endpunkten Liste für den Dienst entfernt und sind nicht mehr Teil des Satzes als Hülsen für die Replikation Controller laufen. Pods, die langsam heruntergefahren werden, können weiterhin Datenverkehr bereitstellen, da Load Balancer (wie der Dienstproxy) sie aus ihren Rotationen entfernen.

Also, wenn jemand uns auf folgende Fragen führen können:

1.) Wenn ein pod heruntergefahren wird, kann es immer noch neue Anforderungen dienen? Oder berücksichtigt der Load Balancer dies nicht?

2.) Vervollständigt es die Anforderungen, die verarbeitet werden, bis die Frist abgelaufen ist? und tötet dann den Container, selbst wenn noch ein Prozess läuft?

3.) Auch erwähnt dies Replikations-Controller, was wir haben, ist ein Deployment und Deployment hat Replikat-Sets, wird es also einen Unterschied geben?

Wir gingen dieser Frage durch, aber die Antworten sind widersprüchlich ohne Quelle: Does a Kubernetes rolling-update gracefully remove pods from a service load balancer

Antwort

3

1), wenn ein Pod wird heruntergefahren seinen Zustand zu Terminating geändert wird, und es ist nicht von der LoadBalancer betrachtet - wie in die Pod termination docs

2) Ja - möchten Sie vielleicht die pod.Spec.TerminationGracePeriodSeconds Konfiguration betrachten, um etwas Kontrolle zu erlangen. Sie finden Details in der API documentation

3) Nein - die ReplicaSet und die Bereitstellung kümmern Scheduling Pods, gibt es keinen Unterschied, wenn es um die Abschaltung Verhalten der Pods kommt

Verwandte Themen