Kubeadm: So beheben Sie das Hängenbleiben von "Erstellter API-Client, der darauf wartet, dass die Steuerungsebene bereit ist"

Erstellt am 6. Jan. 2017  ·  4Kommentare  ·  Quelle: kubernetes/kubeadm

Ich frage mich, ob es eine Möglichkeit gibt, zu debuggen und zu sehen, wo in "Warten auf die Bereitschaft der Steuerebene" Kubeadm-Init hängt. Irgendwelche -verbose Parameter für kubeadm? Andere Log-Dateien oder empfohlene Debug-Optionen?
Ich verwende Ubuntu 16.04 - aber ich versuche, kubeadm aus einem Docker-Container heraus auszuführen. Auf meinem Host funktioniert es.

Hilfreichster Kommentar

Führen Sie journalctl -xeu kubelet und sehen Sie dann die Protokolle
'Fehler: Kubelet konnte nicht ausgeführt werden: Kubelet konnte nicht erstellt werden: Fehlkonfiguration: Kubelet-Cgroup-Treiber: "systemd" unterscheidet sich von Docker-Cgroup-Treiber: "cgroupfs
systemd[1]: kubelet.service: Hauptprozess beendet, code=beendet, status=1/FAILURE
systemd[1]: Einheit kubelet.service trat in den fehlgeschlagenen Zustand ein.
systemd[1]: kubelet.service fehlgeschlagen.'

Der cgroup-Treiber von kubelet ist nicht mit dem cgroup-Treiber von Docker identisch, daher aktualisiere ich systemd -> cgroupfs.

vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
KUBELET_CGROUP_ARGS=--cgroup-driver=systemd aktualisieren auf KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs

kubelet neu starten
'service kubelet restart' ausführen

alles ist ok

Alle 4 Kommentare

Ich öffne meistens nur eine andere Shell und starte docker ps und/oder journalctl -xeu kubelet
Es ist schwierig, eine All-in-One-Debugging-Lösung zu erstellen, da es so viele Informationen gibt und wir im Grunde darauf warten, dass etwas passiert (z. B. kann eine langsame Internetverbindung sehr lange dauern, obwohl alles funktioniert).

Haben Sie einen Vorschlag, was enthalten sein sollte?

Danke, ich habe es geschafft, das "Warten auf die Bereitschaft der Kontrollebene" zu überstehen, die von Ihnen vorgeschlagenen Standard-Debugging-Optionen waren ausreichend.

Führen Sie journalctl -xeu kubelet und sehen Sie dann die Protokolle
'Fehler: Kubelet konnte nicht ausgeführt werden: Kubelet konnte nicht erstellt werden: Fehlkonfiguration: Kubelet-Cgroup-Treiber: "systemd" unterscheidet sich von Docker-Cgroup-Treiber: "cgroupfs
systemd[1]: kubelet.service: Hauptprozess beendet, code=beendet, status=1/FAILURE
systemd[1]: Einheit kubelet.service trat in den fehlgeschlagenen Zustand ein.
systemd[1]: kubelet.service fehlgeschlagen.'

Der cgroup-Treiber von kubelet ist nicht mit dem cgroup-Treiber von Docker identisch, daher aktualisiere ich systemd -> cgroupfs.

vi /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
KUBELET_CGROUP_ARGS=--cgroup-driver=systemd aktualisieren auf KUBELET_CGROUP_ARGS=--cgroup-driver=cgroupfs

kubelet neu starten
'service kubelet restart' ausführen

alles ist ok

@heartarea Schätze deine Schritte. Sie funktionieren gut.

Außerdem müssen wir diese Änderungen auf andere Knoten als den Master anwenden, damit sie dem Cluster beitreten können.

Ist das ein Fehler? Warum wird es nicht so eingestellt, wie Sie es vorgeschlagen haben?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen