2017-12-11 4 views
0

Nachdem die IP-Konfiguration des Clusters geändert wurde (alle externen IPs wurden geändert, die internen privaten IPs blieben unverändert), funktionieren einige kubectl Befehle nicht mehr für einen Container. Die Kapseln laufen alle und scheinen sich ohne Probleme zu finden. Hier ist die Ausgabe:Warum bricht Kubernetes "kubectl" mit "Autorisierungsfehler" ab?

[email protected]:~$ time kubectl logs jb-plus--prod-615777041-71s09 
Error from server (InternalError): Internal error occurred: Authorization error (user=kube-apiserver-kubelet-client, verb=get, resource=nodes, subresource=proxy) 

real 0m30,539s 
user 0m0,441s 
sys  0m0,021s 

Offenbar gibt es eine 30 Sekunden Timeout, und danach der Autorisierungsfehler.

Was kann das verursachen?

Ich betreibe Kubernetes 1.8 mit Web-Netz.

+0

höchstwahrscheinlich Sie neue IP fehlt aus dem Zertifikat. Überprüfen Sie mit diesem Befehl 'openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep DNS' – sfgroups

+0

Ja, das war es (oder der wichtige Teil des Problems). Wenn Sie Ihren Beitrag in eine Antwort konvertieren, akzeptiere ich sie. –

+0

froh, dass es geholfen hat, ließ mich die Antwort aktualisieren. – sfgroups

Antwort

0

Basierend auf dem Symptom fehlt neue IP aus dem Zertifikat. Verwenden Sie den folgenden Befehl, um zu bestätigen.

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep DNS 
+0

Die Zeitüberschreitung war auf veraltete öffentliche IPs in verschiedenen Konfigurationsdateien in '/ etc/kubernetes' und veraltete öffentliche IPs in einigen Pods aus dem kube-system Namespace zurückzuführen. Der Autorisierungsfehler selbst war jedoch aufgrund der fehlenden neuen IP im Zertifikat des API-Servers. –

Verwandte Themen