Wie neu starten, kubernetes Knoten?
Den status der Knoten wird berichtet, wie unknown
"conditions": [
{
"type": "Ready",
"status": "Unknown",
"lastHeartbeatTime": "2015-11-12T06:03:19Z",
"lastTransitionTime": "2015-11-12T06:04:03Z",
"reason": "Kubelet stopped posting node status."
}
whle kubectl get nodes
Gegenzug eine NOTReady-status. Was bedeutet das und wie man dieses Problem beheben?
- habe genau das gleiche problem hier 🙁 ich war in der Lage zu löschen Knoten in der VirtualBox und dann
kube-up.sh
wird eine neue erstellen. es hat nicht wirklich helfen in meiner situation, aber vielleicht hilft Sie - Gibt es eine api zum löschen der Knoten? Ich bin nicht sicher, wie die cluster eingerichtet wurde
- oh, ich wusste nicht einmal Fragen, welche Art von setup Sie haben, obwohl es für die lokalen vagrant basiert auf virtualbox
- Dies ist eine physikalische linux-vm, Informationen über, wie man erstellen Sie entweder einen neuen Knoten , oder starten Sie eine vorhandene?
- sorry, weiß nicht, dann
- Die einzige Antwort ist, wie Sie nach dem löschen eines Knotens. Jeder, der kommt, um diese Frage sucht, wie ein Neustart. Bekommen wir eine Antwort?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bekommen-Knoten
Ergebnis:
Beschreiben Knoten
Hier ist ein NotReady auf den Knoten
192.168.1.157
. Dann Debuggen dieser notready-Knotens, und man kann Lesen, offizielle Dokumente - Anwendung der Selbstbeobachtung und-Debugging.Teilergebnis:
Es ist ein OutOfDisk auf meine Knoten, dann Kubelet gestoppt posting Knoten-status.
So, ich muss geben Sie Speicherplatz frei, indem man den Befehl von
df
auf meine Ubuntu14.04 kann ich überprüfen Sie die details der Erinnerung, und mit dem Befehl vondocker rmi image_id/image_name
unter die Rolle vonsu
ich kann entfernen Sie die unbrauchbaren Bilder.Login-Knoten
Login in
192.168.1.157
mithilfe ssh, wiessh [email protected]
auf, und schalten Sie die 'su' vonsudo su
;Neu starten kubelet
Ergebnis:
Bekommen-Knoten wieder
Auf dem master:
Ergebnis:
Ok, das Knoten funktioniert gut.
Hier ist eine Referenz: Kubernetes
Können Sie löschen Sie den Knoten aus, den Meister durch die Ausstellung:
Den NOTReady-status bedeutet wohl, dass der master kann nicht auf die kubelet service. Prüfen Sie, ob alles OK ist auf dem client.
Ich hatte dieses problem auch, aber wie es aussieht, hängt es von der Kubernetes bietet und wie alles installiert wurde. In Azure, wenn Sie mit acs-engine installieren, finden Sie das shell-Skript, die tatsächlich ausgeführt werden, um die Bereitstellung es auf:
Zu erhalten, ein feinkörniges Verständnis, genau durchlesen und führen Sie die Befehle, die es gibt. Für mich hatte ich als "root" ausgeführt:
Ich weiß nicht, ob das aktivieren ist nötig und ich kann nicht sagen, ob diese mit Ihrer bestimmten installation, aber es ist definitiv für mich gearbeitet.
Wenn ein Knoten ist so ungesund, dass der Meister nicht den status von es-Kubernetes möglicherweise nicht in der Lage zu den Knoten neu starten. Und wenn Sie Gesundheits-checks nicht berufstätig sind, welche Hoffnung haben Sie Zugriff auf die Knoten, indem Sie SSH?
In diesem Fall, müssen Sie möglicherweise hard-reboot -- oder, falls Ihre hardware in der cloud, lassen Sie Ihre Anbieter es tun.
Beispielsweise die AWS EC2 Dashboard können Sie der rechten Maustaste auf eine Instanz nach oben zu ziehen, einen "Instanz-Status" Menü--, von der aus Sie starten können/beenden eines nicht reagierenden Knoten.
Bevor Sie dies tun, könnten Sie
kubectl cordon node
für eine gute Maßnahme. Und können Sie findenkubectl Knoten löschen
ein wichtiger Teil des Prozesses, für immer, die Dinge zurück zu normal -- wenn der Knoten nicht automatisch wieder in den cluster nach einem Neustart.Warum sollte ein Knoten nicht mehr antwortet? Wahrscheinlich einige Ressource erschöpft in einer Weise, die verhindert, dass das host-Betriebssystem aus dem Umgang mit neuen Anforderungen in einer fristgerechten Weise. Dies könnte sein, Festplatte oder Netzwerk-aber die heimtückischer Fall wird out-of-memory (OOM), die Linux Griffe schlecht.
Helfen Kubernetes verwalten Knoten Speicher sicher, es ist eine gute Idee, um die beiden folgenden:
Anfragen
undGrenzen
für den Speicher.Die Idee hier ist, um zu vermeiden, die Komplikationen im Zusammenhang mit der memory overcommit, weil Speicher ist inkompressible, und beide Linux und Kubernetes' OOM Killer können nicht ausgelöst, bevor der Knoten hat bereits ungesund und unerreichbar.
check Knoten mit
not ready
statuslöschen Sie einfach, dass Knoten, und erstellen Sie neue Knoten und die Verknüpfung mit cluster
Wenn Sie mit der Verwaltung von services, wie AWS-EKS wird es kommen neue Knoten
automatisch.Sie können auch neu starten von aws-Konsole starten Sie Knoten(ec2).
kubectl delete node $NODE
diesem Knoten wird nicht automatisch neu erstellt werden, ist nicht wünschenswert, manchmal.Führen Sie den folgenden Befehl zum deaktivieren der swap auf Knoten. Es funktionierte für mich.