diff --git a/readme-suse.md b/readme-suse.md index aafcaf2..2322d83 100644 --- a/readme-suse.md +++ b/readme-suse.md @@ -388,11 +388,16 @@ Si no levanta, **verifica logs y revisa `/opt/cni/bin/`**: En los demás nodos control-plane (tras configurar Keepalived y tener la VIP activa): ```bash -sudo kubeadm join 192.168.0.20:6443 --token \ +sudo kubeadm join 192.168.0.20:6443 \ + --token \ --discovery-token-ca-cert-hash \ - --control-plane --certificate-key + --control-plane \ + --certificate-key \ + --apiserver-advertise-address=192.168.4.2 ``` +> **Importante:** Cambia la IP `192.168.4.2` por la correspondiente a cada servidor control-plane que estés uniendo. + Recuerda usar los valores correctos de token, hash y certificate-key que te dará el comando `kubeadm init` o puedes volver a consultar desde el nodo principal: ```bash @@ -407,27 +412,56 @@ cd sudo cp -i admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config ``` -> ## EXTRA: Si te ha caducado el TOKEN, o no lo guardaste -Para obtener el hash del certificado CA necesario para unirte al clúster, ejecuta: +--- + +## EXTRA: Si te ha caducado el TOKEN, o no lo guardaste + +Cuando el token de unión (`kubeadm join`) ha caducado, sigue estos pasos en el **nodo principal (control-plane)** para generar un nuevo token y el comando actualizado: ```sh -openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | \ - openssl rsa -pubin -outform der 2>/dev/null | \ - openssl dgst -sha256 -hex | awk '{print $2}' +# 1. Sube los certificados y obtén la nueva clave de certificado (certificate-key) +sudo kubeadm init phase upload-certs --upload-certs ``` -Esto te dará un token (hash) que debes incorporar al siguiente comando: +> La salida mostrará la nueva `certificate key`, necesaria para añadir un nuevo nodo de control-plane. + +```sh +# 2. Genera un nuevo token y muestra el comando kubeadm join listo para usar +sudo kubeadm token create --print-join-command +``` + +> La salida mostrará el comando `kubeadm join` con el nuevo token y el hash actual del CA. + +### Ejemplo de salidas: + +``` +[upload-certs] Using certificate key: +588ee9d0441c0aea36b2a2a638beae4cfa81dd3498eb61205c8496f344f6c55d + +kubeadm join 192.168.0.20:6443 --token s9nlsp.gasv66tkc43zpiok --discovery-token-ca-cert-hash sha256:d41f0edb90c66c0555bdf4feca55f1e69019764be0fcd649a254e99ff124568f +``` + +--- + +## Comando completo para unir un nodo **como control-plane** + +Añade los parámetros `--control-plane --certificate-key --apiserver-advertise-address=192.168.4.2` al final del comando `kubeadm join` generado. Usando el ejemplo anterior, el comando final sería: ```sh sudo kubeadm join 192.168.0.20:6443 \ - --token j4p24i.9kgvuw9kh0prlny0 \ - --discovery-token-ca-cert-hash sha256:{token} \ + --token s9nlsp.gasv66tkc43zpiok \ + --discovery-token-ca-cert-hash sha256:d41f0edb90c66c0555bdf4feca55f1e69019764be0fcd649a254e99ff124568f \ --control-plane \ - --certificate-key 1d69c5ac29959da6c5f033f8beb5f61f98aa3fe4534241727890ad6f581e90cd + --certificate-key 588ee9d0441c0aea36b2a2a638beae4cfa81dd3498eb61205c8496f344f6c55d \ + --apiserver-advertise-address=192.168.4.2 ``` -Reemplaza `{token}` por el valor obtenido en el primer paso. +> **Recuerda**: Cambia `192.168.4.2` por la IP real del nodo que se está uniendo. + +--- + +Con esto podrás unir cualquier nodo extra como nuevo control-plane, incluso cuando el token original haya caducado. ---