Kubeadm: no se pudo ejecutar Kubelet: no se puede crear la solicitud de firma de certificado: no autorizado

Creado en 14 may. 2018  ·  3Comentarios  ·  Fuente: kubernetes/kubeadm

Tengo un clúster K8s que se ejecuta bajo un proveedor de nube OpenStack.

El clúster se configura mediante la herramienta kubeadm que contiene un nodo maestro y un nodo esclavo.

Estoy tratando de agregar otro nodo trabajador mediante el comando kubeadm join, el comando muestra una respuesta positiva que indica que el nodo se agregó correctamente, pero no puedo encontrarlo usando el comando kubectl get nodes .

Investigué y descubrí que kubelet en el nuevo nodo esclavo no se está ejecutando y muestra 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'.

versión en el nodo trabajador: 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"}

versión en el nodo maestro:

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

comando usado para hacer la unión:

  • obtener el token: kubeadm token list | awk '/The default bootstrap token/ { print $1; }'

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

  • comando de unión: kubeadm join --skip-preflight-checks --token {{token}} --discovery-token-ca-cert-hash sha256:{{hash}} master_ip:6443

help wanted kinsupport prioritimportant-longterm

Comentario más útil

@ qianyong-2005

El mismo problema aqui. Gracias por el enlace!

kubeadm token create --print-join-command 

Todos 3 comentarios

Tengo el mismo problema, ahora está bien.

El tiempo de vida predeterminado del token es de 24 horas, es necesario crear un nuevo token y luego unirse a kubeadm
https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-token/

Sí, supongo que su ficha acababa de expirar en el momento en que intentó unirse. Estoy cerrando esto como resuelto.
Si ese no fuera el caso, vuelva a abrir.

@ qianyong-2005

El mismo problema aqui. Gracias por el enlace!

kubeadm token create --print-join-command 
¿Fue útil esta página
0 / 5 - 0 calificaciones