Ich versuche, Probleme mit dem Kubernetes UI Dashboard zu beheben. Bisher funktioniert es nicht. Ich habe einen Cluster mit drei Knoten, 1 Master und 2 Workern:
[admin@k8s-node1 ~]$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 4d21h v1.15.2
k8s-node1 Ready <none> 4d20h v1.15.2
k8s-node2 Ready <none> 4d20h v1.15.2
Das Dashboard ist in der aktuellsten Version installiert. Alles in allem scheinen die Dienste gut zu laufen ( kube-system
und kubernetes-dashboard
):
[admin@k8s-node1 ~]$ kubectl get pods --all-namespaces -o wide
NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system coredns-5c98db65d4-7fztc 1/1 Running 2 4d20h 172.16.0.5 k8s-master <none> <none>
kube-system coredns-5c98db65d4-wwb4t 1/1 Running 2 4d20h 172.16.0.4 k8s-master <none> <none>
kube-system etcd-k8s-master 1/1 Running 1 4d20h 10.1.99.10 k8s-master <none> <none>
kube-system kube-apiserver-k8s-master 1/1 Running 1 4d20h 10.1.99.10 k8s-master <none> <none>
kube-system kube-controller-manager-k8s-master 1/1 Running 1 4d20h 10.1.99.10 k8s-master <none> <none>
kube-system kube-router-bt2rb 1/1 Running 0 30m 10.1.99.11 k8s-node1 <none> <none>
kube-system kube-router-dnft9 1/1 Running 0 30m 10.1.99.10 k8s-master <none> <none>
kube-system kube-router-z98ns 1/1 Running 0 29m 10.1.99.12 k8s-node2 <none> <none>
kube-system kube-scheduler-k8s-master 1/1 Running 1 4d20h 10.1.99.10 k8s-master <none> <none>
kubernetes-dashboard kubernetes-dashboard-5c8f9556c4-8skmv 1/1 Running 0 43m 172.16.1.4 k8s-node1 <none> <none>
kubernetes-dashboard kubernetes-metrics-scraper-86456cdd8f-htq9t 1/1 Running 0 43m 172.16.2.7 k8s-node2 <none> <none>
Das Problem besteht darin, dass bei aktiviertem Proxy das Dashboard nicht auf dem Arbeitscomputer (Knoten1) angezeigt wird, auf dem das Dashboard ausgeführt wird:
URL:
Fehlermeldung:
Error: 'dial tcp 172.16.1.4:8443: i/o timeout'
Trying to reach: 'https://172.16.1.4:8443/'
Ich tendiere zum Routing, obwohl die Router anscheinend alle laufen. Außerdem zeigt das Protokoll für das Dashboard diese Meldungen:
Metric client health check failed: the server is currently unable to handle the request (get services dashboard-metrics-scraper). Retrying in 30 seconds.
Jede Hilfe ist willkommen. Ich bin neu bei Kubernetes und dies ist mein erstes Cluster-Setup, also bitte ich um Entschuldigung.
Antwort1
Ich würde vorschlagen, dass Sie 2 Punkte überprüfen, nämlich 1. Telnet 172.16.1.4:8443 vom Kubernetes-Dashboard-Pod und 2. Gleicher Befehl vom Masterknoten 3. Wenn möglich, versuchen Sie bitte, Sidecar-Pod mit TCPdump-Funktionalität zu installieren, um Paketübertragungen herauszufinden
Wenn alle 3 Werte anzeigen, möchten Sie möglicherweise eine Verbindung zum Dashboard-Pod herstellen, um die von diesem Pod gedruckten Protokolle zu überprüfen. Hat es übrigens früher überhaupt funktioniert?