Kubeadm: échec de l'exécution de Kubelet: impossible de créer la demande de signature de certificat: non autorisé

Créé le 14 mai 2018  ·  3Commentaires  ·  Source: kubernetes/kubeadm

J'ai un cluster K8s fonctionnant sous un fournisseur de cloud OpenStack.

Le cluster est configuré à l'aide de l'outil kubeadm qui contient un nœud maître et un nœud esclave.

J'essaie d'ajouter un autre nœud de travail en utilisant la commande kubeadm join, la commande affiche une réponse positive indiquant que le nœud a été ajouté avec succès, mais je ne le trouve pas en utilisant la commande kubectl get nodes .

J'ai enquêté et j'ai trouvé que kubelet sur le nouveau nœud esclave ne fonctionnait pas en affichant cannot create certificate signing request: Unauthorized .

-- 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 sur le nœud worker: 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 sur le nœud maître:

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"}

commande utilisée pour faire la jointure:

  • obtenir le jeton: kubeadm token list | awk '/The default bootstrap token/ { print $1; }'

  • obtenir le hachage: openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

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

help wanted kinsupport prioritimportant-longterm

Commentaire le plus utile

@ qianyong-2005

Même problème ici. Merci pour le lien!

kubeadm token create --print-join-command 

Tous les 3 commentaires

J'ai le même problème, maintenant ça va.

La durée de vie par défaut du jeton est de 24 heures, vous devez créer un nouveau jeton, puis rejoindre kubeadm
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-token/

Ouais, je suppose que votre jeton venait d'expirer au moment où vous avez essayé de rejoindre. Je ferme cela comme résolu.
Si ce n'était pas le cas, veuillez rouvrir.

@ qianyong-2005

Même problème ici. Merci pour le lien!

kubeadm token create --print-join-command 
Cette page vous a été utile?
0 / 5 - 0 notes