Kubeadm: Kubelet konnte nicht ausgeführt werden: Zertifikatssignierungsanforderung kann nicht erstellt werden: Nicht autorisiert

Erstellt am 14. Mai 2018  ·  3Kommentare  ·  Quelle: kubernetes/kubeadm

Ich habe einen K8s-Cluster, der unter einem OpenStack-Cloud-Anbieter ausgeführt wird.

Der Cluster wird mit dem kubeadm- Tool eingerichtet, das einen Master- und einen Slave-Knoten enthält.

Ich versuche, einen anderen Worker-Knoten mithilfe des Befehls kubeadm join hinzuzufügen. Der Befehl zeigt eine positive Antwort an, die besagt, dass der Knoten erfolgreich hinzugefügt wurde. Ich kann ihn jedoch nicht mit dem Befehl kubectl get nodes .

Ich habe nachgeforscht und festgestellt, dass kubelet auf dem neuen Slave-Knoten nicht ausgeführt wird und cannot create certificate signing request: Unauthorized anzeigt.

-- The start-up result is done.
May 14 12:15:33 vm1 kubelet[17678]: W0514 12:15:33.715964   17678 cni.go:171] Unable to update cni config: No networks found in /etc/cni/net.d
May 14 12:15:33 vm1 kubelet[17678]: W0514 12:15:33.738398   17678 hostport_manager.go:68] The binary conntrack is not installed, this can cause failures in network connection cleanup.
May 14 12:15:33 vm1 kubelet[17678]: I0514 12:15:33.738669   17678 server.go:376] Version: v1.10.1
May 14 12:15:33 vm1 kubelet[17678]: I0514 12:15:33.738913   17678 feature_gate.go:226] feature gates: &{{} map[]}
May 14 12:15:33 vm1 kubelet[17678]: I0514 12:15:33.739222   17678 plugins.go:89] No cloud provider specified.
May 14 12:15:33 vm1 kubelet[17678]: F0514 12:15:33.784257   17678 server.go:233] failed to run Kubelet: cannot create certificate signing request: Unauthorized
May 14 12:15:33 vm1 systemd[1]: kubelet.service: Main process exited, code=exited, status=255/n/a
May 14 12:15:33 vm1 systemd[1]: kubelet.service: Unit entered failed state.
May 14 12:15:33 vm1 systemd[1]: kubelet.service: Failed with result 'exit-code'.

Version auf Worker-Knoten: kubeadm version kubeadm version: &version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.1", GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", GitTreeState:"clean", BuildDate:"2018-04-12T14:14:26Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Version auf dem Masterknoten:

kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"10", 
GitVersion:"v1.10.1", 
GitCommit:"d4ab47518836c750f9949b9e0d387f20fb92260b", 
GitTreeState:"clean", BuildDate:"2018-04-12T14:14:26Z", 
GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Befehl zum Herstellen des Joins:

  • Holen Sie sich den Token: kubeadm token list | awk '/The default bootstrap token/ { print $1; }'

  • Holen Sie sich den Hash: openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

  • Join-Befehl: kubeadm join --skip-preflight-checks --token {{token}} --discovery-token-ca-cert-hash sha256:{{hash}} master_ip:6443

help wanted kinsupport prioritimportant-longterm

Hilfreichster Kommentar

@ qianyong-2005

Selbes Problem hier. Danke für den Link!

kubeadm token create --print-join-command 

Alle 3 Kommentare

Ich habe das gleiche Problem, jetzt ist ok.

Die Standardlebensdauer des Tokens beträgt 24 Stunden. Sie müssen ein neues Token erstellen und dann kubeadm beitreten
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-token/

Ja, ich denke, Ihr Token ist gerade abgelaufen, als Sie versucht haben, sich anzumelden. Ich schließe dies als gelöst.
Wenn dies nicht der Fall war, öffnen Sie es bitte erneut.

@ qianyong-2005

Selbes Problem hier. Danke für den Link!

kubeadm token create --print-join-command 
War diese Seite hilfreich?
0 / 5 - 0 Bewertungen