Kubernetes entleeren den Masterknoten vor einem Neustart

Kubernetes entleeren den Masterknoten vor einem Neustart

Wenn ich einen Sudo-Neustart auf einem Kubernetes-Masterknoten durchführen würde, wäre Kubernetes dann intelligent genug, sich selbst aus dem Cluster zu leeren?

Angenommen, ich habe einen Webdienst, der einen Pod ausführt, der zufällig auf dem Masterknoten gelandet ist. Wenn ich den Masterknoten mit „sudo reboot“ ausführe, würde er dann einem anderen Knoten sagen, eine Kopie zu erstellen, bevor er stirbt?

Antwort1

Dies ist kein erwartetes Verhalten für Kubernetes. Tatsächlich repräsentieren K8s den Masterknoten alsKontrollebenefür alle vom Cluster verwalteten Vorgänge. Die Hauptbeitragenden auf jedem Knoten sind:kubelet,Kube-Proxy, und Container-Laufzeitsoftware (Docker, cri-o usw.).

Wenn Sie das Betriebssystem auf dem jeweiligen Knoten (Master, Worker) neu starten möchten, erkennt die K8s-Cluster-Engine diese Aktion nicht und behält alle clusterbezogenen Ereignisse inETCDSchlüsselwertspeicherung, Sicherung der aktuellsten Daten. Sobald Sie den Neustart des Clusterknotens sorgfältig vorbereiten möchten, müssen Sie möglicherweise anpassenWartungJob auf diesem Knoten, um ihn aus der Planung zu nehmen und alle vorhandenen Pods ordnungsgemäß zu beenden.

Wenn Sie eine relevante K8s-Ressource innerhalb eines definierten Satzes vonRepliken, DannReplikationsControllergarantiert, dass eine bestimmte Anzahl von Pod-Replikaten gleichzeitig über jeden verfügbaren Knoten ausgeführt wird. Pods werden einfach neu gestartet, wenn sie die Integritätsprüfung nicht bestanden haben, gelöscht oder beendet wurden, und entsprechen den gewünschten Replikaten.

verwandte Informationen