
Der Kubernetes-Cluster funktionierte vorher einwandfrei. Nach dem Neustart des Masterknotens (1.0.0.0) traten Probleme beim Ausführen von Kubectl-Befehlen auf. Wenn ich kubectl get nodes
den Befehl ausführe, erhalte ich den folgenden Fehler.
# kubectl get nodes
The connection to the server 1.0.0.0:6443 was refused - did you specify the right host or port?
Wenn ich mich mit dem Masterknoten verbinde, der ( 1.0.0.0
) ist, ist der Port 6443 nicht geöffnet, um Verbindungen anzunehmen. netstat -lntp|grep 6443
Gibt keine Ausgabe aus. Der Kubelet-Dienst ist im laufenden Zustand, die Ausgabe systemctl status kubelet
zeigt nichts Verdächtiges.
Habe versucht, den Kubelet-Dienst neu zu starten, aber ohne Erfolg. Habe es auch swapoff -a
vor dem Neustart des Kubelet-Dienstes versucht.
Verpasse ich einen anderen Dienst, der Verbindungen über Port 6443 akzeptiert? Oder ist das die Aufgabe von Kubelet, das dies aber nicht tut? Bitte helfen Sie.
Hinweis: Ich habe meine IP-Adresse auf 1.0.0.0 maskiert, die tatsächliche IP ist anders. Überall wird nur Centos verwendet.
Antwort1
Sehen Sie sich die folgenden möglichen Lösungen an:
Überprüfen Sie zunächst die Protokolle der journalctl -xeu
Kubelet-Ausgabe, prüfen Sie, ob error while dialing dial unix /var/run/cri-dockerd.sock: connect: no such file or directory
dann neu gestartet und aktiviert wirdcri-dockerd-DiensteWie unten :
sudo systemctl enable cri-dockerd.service
sudo systemctl restart cri-dockerd.service then
sudo systemctl start kubelet
Es könnte für Sie funktionieren, bitte gehen Sie durchGitHub-LinkFür mehr Information.
1)Die Umgebungsvariable Kubeconfig ist wahrscheinlich nicht gesetzt.
export KUBECONFIG=/etc/kubernetes/admin.conf
oder$HOME/.kube/config
2)Das $HOME-Verzeichnis des Benutzers hat no .kube/config
eine Datei. Wenn Sie keine .kube- oder Konfigurationsdatei haben
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf HOME/.kube/config sudo chown (id -u):$(id -g)
$HOME/.kube/config
Alternativ können Sie die Variable KUBECONFIG auch wie folgt exportieren:
export KUBECONFIG=$HOME/.kube/config
3)Der in der Konfigurationsdatei oben konfigurierte Server/Port ist falsch. Ist er derselbe wie die IP/der Hostname des Masterservers? Wenn nicht, haben Sie ihn kopiert? Das sollten Sie vielleicht beheben.
Sie können den Hostnamen übrigens abrufen, indem Sie auf Ihrer CLI den Befehl „Hostname“ oder „ifconfig“ für die IP eingeben.
4)Der Docker-Dienst ist möglicherweise ausgefallen, daher läuft der Kubeapi-Pod nicht
sudo systemctl start docker
sudo systemctl start kubelet
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown (id -u):(id -g) $HOME/.kube/config
5)Der Kubelet-Dienst ist möglicherweise ausgefallen. Dies kann daran liegen, dass Swap aktiviert ist:
- sudo -ich
- Auslagerung -a
- Ausfahrt
- strace -eopenat kubectl version
und Sie können „kubectl get nodes“ erneut eingeben, wie unten gezeigt.
6)Kann eine andere Ursache sein'Festplattenplatz':
Überprüfen“df -h”
, kein Overlay oder SHM (montiert auf/var/lib/docker…
) wurde aufgeführt, bis Sie den freien Speicherplatz erhöht haben.
7)Befolgen Sie zur Lösung Ihres Problems die nachstehenden Schritte.
Meister
kubeadm zurücksetzen kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.211.40 -- kubernetes-version=v1.18.0
kubeadm join 192.168.211.40:6443 --token s7apx1.mlxn2jkid6n99fr0 \
--discovery-token-ca-cert-hash sha256:2fa9da39110d02efaf4f8781aa50dd25cce9be524618dc7ab91a53e81c5c22f8
$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
Knoten1
$ kubeadm reset
$ kubeadm join 192.168.211.40:6443 --token s7apx1.mlxn2jkid6n99fr0 \
--discovery-token-ca-cert-hash sha256:2fa9da39110d02efaf4f8781aa50dd25cce9be524618dc7ab91a53e81c5c22f8
Knoten2
$ kubeadm reset
$ kubeadm join 192.168.211.40:6443 --token s7apx1.mlxn2jkid6n99fr0 \
--discovery-token-ca-cert-hash sha256:2fa9da39110d02efaf4f8781aa50dd25cce9be524618dc7ab91a53e81c5c22f8
Meister
$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
master Ready master 5m18s v1.18.6
node1 Ready <none> 81s v1.18.6
node2 Ready <none> 43s v1.18.6
$ scp /root/.kube/config [email protected]:/root/.kube/config
$ scp /root/.kube/config [email protected]:/root/.kube/config
8)Wenn das Problem weiterhin besteht, versuchen Sie Folgendes:
iptables kann nach dem Neustart Ihrer Instanz Probleme verursachen.
sudo su
iptables -P INPUT ACCEPT ALL
iptables -F
Siehe auchDokument beschreibt Schritte zur Behebung von Kubectl-Fehlernfür mehr Informationen.
Überprüfen Sie auch diese ähnlichenALSOfür mehr Informationen.