Kubernetes v1.36 la documentación ya no se mantiene activamente. La versión que estás viendo actualmente es una instantánea estática. Para obtener información actualizada, consulta la última versión.
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.