Esta página explica cómo añadir nodos de trabajo Linux a un clúster de kubeadm.
kubeadm init y siguiendo los pasos
del documento Creando un clúster con kubeadm.Para añadir nuevos nodos de trabajo Linux a tu clúster, haz lo siguiente en cada máquina:
kubeadm init en su salida. Por ejemplo:sudo kubeadm join --token <token> <host-del-plano-de-control>:<puerto-del-plano-de-control> --discovery-token-ca-cert-hash sha256:<hash>
<host-del-plano-de-control>:<puerto-del-plano-de-control> debes escribir la dirección IPv6 entre corchetes, por ejemplo: [2001:db8::101]:2073.Si no tienes el token, puedes obtenerlo ejecutando el siguiente comando en el nodo controlador:
# Ejecuta esto en un nodo controlador
sudo kubeadm token list
La salida es similar a esta:
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
8ewj1p.9r9hcjoqgajrj4gi 23h 2018-06-12T02:51:28Z authentication, The default bootstrap system:
signing token generated by bootstrappers:
'kubeadm init'. kubeadm:
default-node-token
Por defecto, los tokens para añadir nodos expiran a las 24 horas. Si vas a añadir un nodo al clúster después de que el token actual haya expirado, puedes crear un token nuevo ejecutando el siguiente comando en el nodo controlador:
# Ejecuta esto en un nodo controlador
sudo kubeadm token create
La salida es similar a esta:
5didvk.d09sbcov8ph2amjw
Para imprimir un comando kubeadm join generando a la vez un nuevo token, puedes usar:
sudo kubeadm token create --print-join-command
Si no tienes el valor de --discovery-token-ca-cert-hash, puedes obtenerlo ejecutando los
siguientes comandos en el nodo controlador:
# Ejecuta esto en un nodo controlador
sudo cat /etc/kubernetes/pki/ca.crt | openssl x509 -pubkey | openssl rsa -pubin -outform der 2>/dev/null | \
openssl dgst -sha256 -hex | sed 's/^.* //'
La salida es similar a:
8cb2de97839780a412b93877f8507ad6c94f73add17d5d7058e91741c9d5ec78
La salida del comando kubeadm join debería parecerse a esto:
[preflight] Running pre-flight checks
... (log output of join workflow) ...
Node join complete:
* Certificate signing request sent to control-plane and response
received.
* Kubelet informed of new secure connection details.
Run 'kubectl get nodes' on control-plane to see this machine join.
Unos segundos más tarde, deberías ver este nodo en la salida de kubectl get nodes
(por ejemplo, ejecutando kubectl en un nodo controlador).
kubectl -n kube-system rollout restart deployment coredns después de haber añadido al menos un nuevo nodo.