2016-08-26 5 views
8

Ich habe versucht herauszufinden, was passiert, wenn der Kubernetes-Master in einem Cluster mit nur einem Master ausfällt. Werden Webanfragen in diesem Fall noch an Pods weitergeleitet oder wird das gesamte System heruntergefahren?Was passiert, wenn der Kubernetes Master ausfällt?

Laut der OpenShift 3-Dokumentation, die auf Kubernetes (https://docs.openshift.com/enterprise/3.2/architecture/infrastructure_components/kubernetes_infrastructure.html) aufgebaut ist, funktionieren die Knoten bei Ausfall eines Masters weiterhin ordnungsgemäß, aber das System verliert seine Fähigkeit, Pods zu verwalten. Ist das bei Vanille Kubernetes gleich?

Antwort

14

Ich verstehe, dass der Master die API ausführt, und jetzt (seit 1.3?) Verwaltet die zugrunde liegende Cloud-Infrastruktur. Wenn es offline ist, ist die API offline, so dass der Cluster kein Cluster mehr ist und stattdessen eine Gruppe von Ad-hoc-Knoten für diesen Zeitraum darstellt. Der Cluster kann nicht auf Knotenfehler reagieren, neue Ressourcen erstellen, Pods auf neue Knoten verschieben usw. Bis der Master wieder online ist.

In jedem Fall wird die Lebensdauer für Anwendungen jedoch normal weitergeführt, es sei denn, es gibt während dieser Zeit einen dramatischen Fehler * oder Knoten werden neu gestartet, da TCP/UDP-Dienste, Load Balancer, DNS, das Dashboard, usw. Sollten alle weiterhin funktionieren.

Nach einigem Lesen scheint es, dass DNS-Abfragen nicht korrekt aufgelöst werden können, wenn ein Knoten während dieser Zeit neu gestartet wird. Ich empfehle auf jeden Fall, die Knoten während dieses Zeitraums nicht neu zu starten, wenn Sie Bedenken haben, dass Ihre Dienste verfügbar bleiben.

Wenn Sie dies selbst testen möchten, gibt es ein praktisches Hilfsprogramm namens minikube, das Sie verwenden können, um es vor dem Kauf auszuprobieren. Denken Sie daran (wenn Sie aus der Zukunft kommen), dass Kubernetes sich immer noch schnell verändert und diese Antwort in der Zeit, aus der Sie stammen, möglicherweise nicht mehr wahr ist.

+0

Haben Sie den Master viele Male heruntergebracht, ohne die laufenden Apps herunterzubringen. – manojlds

+2

Danke für die Information! Aus reiner Neugier, wie leitet Kubernetes Anfragen zwischen Knoten im Cluster weiter? Wie gelangen Anfragen in den Cluster, wenn keine zentrale Maschine auf einen DNS-Eintrag verweist? –

+0

Das Netzwerk funktioniert je nachdem, wo Ihre Ressourcen bereitgestellt werden, unterschiedlich. In der Regel wird jedoch der Lastenausgleich, den Ihr Cloud-Anbieter als Dienst bereitstellt, an einen Dienst im Cluster weitergeleitet. Daher werden Pakete unabhängig von der Operation einer Kubernetes-Komponente an den Cluster weitergeleitet. Im Falle eines NodePorts stellt die öffentliche IP eines beliebigen Knotens einen Eingangspunkt für den Verkehr bereit. Von dort wird das Routing etwas komplizierter; http://kubernetes.io/docs/admin/networking/ – pnovotnak

Verwandte Themen