Ir al contenido principal

TLS Bootstrapping en Kubernetes: Qué es, cómo funciona y por qué importa en el examen CKA

                                           

Uno de los conceptos que a menudo pasan desapercibidos en la administración de Kubernetes —pero que resultan clave tanto en entornos reales como en el examen CKA— es el TLS Bootstrapping.

En este artículo entenderás qué es, cómo funciona, qué lo diferencia del kubeadm join tradicional y cómo puede aparecer en el examen.

¿Qué es TLS Bootstrapping?

TLS Bootstrapping es el proceso por el cual el kubelet, el agente que corre en cada nodo, obtiene automáticamente un certificado TLS firmado por el clúster para autenticarse con el kube-apiserver.

En otras palabras: permite que un nuevo nodo se una de forma segura al clúster sin necesidad de copiar manualmente los certificados.

¿Por qué es necesario?

Cuando añades un nuevo nodo worker, su kubelet necesita autenticarse para:

  • Recibir pods

  • Informar su estado

  • Acceder a ciertos recursos del clúster

Para ello, debe poseer un certificado TLS válido. TLS Bootstrapping automatiza este proceso, eliminando la necesidad de que el administrador copie certificados manualmente.

 ¿Cómo funciona TLS Bootstrapping?

  1. 🔑 El administrador genera un token con kubeadm token create

  2. 🧩 El nodo worker arranca con ese token en su configuración provisional

  3. 📬 El kubelet envía una solicitud CSR (Certificate Signing Request) al API Server

  4. ✅ La CSR es aprobada automáticamente o por un administrador

  5. 📜 El kubelet guarda su certificado firmado y comienza a autenticarse con él

 ¿Cuál es la diferencia con kubeadm join?


Cuando usas kubeadm join, TLS Bootstrapping ya está ocurriendo internamente. Pero si en el examen te piden "Configura TLS Bootstrapping sin usar kubeadm join", necesitas crear el token, configurar RBAC y aprobar la CSR tú mismo

Componentes involucrados:


Archivos implicados

Una vez aprobado el certificado, el kubelet guarda:

/var/lib/kubelet/pki/kubelet-client-current.pem

El token ya no es necesario después de la autenticación inicial.


 ¿Cómo saber si TLS Bootstrapping está en uso?

kubectl get csr

Verás las solicitudes de certificados de los kubelet pendientes o ya aprobadas

¿Cómo puede aparecer en el examen CKA?

  1. Pregunta genérica:

    “Une un nuevo nodo al clúster usando kubeadm”

    • Solo ejecutas kubeadm token create --print-join-command en el master y lo pegas en el worker

    • TLS Bootstrapping ocurre implícitamente

  2. Pregunta avanzada:

    “Configura manualmente TLS Bootstrapping para unir un nodo al clúster. No uses kubeadm join.”

    • Aquí debes usar el token y configurar el kubelet manualmente

    • Deberás revisar CSR y aprobarlos si no se aprueban automáticamente

¿Y qué ocurre si uso directamente kubeadm join? Saltándome los pasos anteriores:

Una duda frecuente es: ¿tengo que generar el token y el ClusterRoleBinding manualmente? Y la respuesta corta es: No, si estás usando kubeadm.

Cuando ejecutas kubeadm init en el nodo controlplane, se crean automáticamente:

  • Un token válido para unión de nodos
  • El ClusterRoleBinding para permitir a los kubelets pedir certificados
  • La configuración del API Server para aceptar CSR de nuevos nodos

Por eso, cuando en el nodo worker lanzas simplemente:

kubeadm join <IP_API_SERVER>:6443 --token <TOKEN> --discovery-token-ca-cert-hash sha256:<HASH>

👉 Se realiza todo el TLS Bootstrapping de forma automática:

  • El kubelet envía su CSR al API Server
  • La CSR es aprobada automáticamente
  • El nodo aparece en el clúster en estado Ready

✔️ ¿Cuál de los dos métodos debería usar?

Método Cuándo usarlo Ventajas Limitaciones
kubeadm join (automático) 90% de los casos reales y prácticos Fácil, rápido, seguro, usado en producción No aprendes los detalles internos del bootstrapping
TLS Bootstrapping manual Preguntas avanzadas del examen o clúster sin kubeadm Aprendes el flujo completo: CSR, RBAC, aprobación Más pasos, más propenso a errores

🔑 Recomendación: Para entornos reales y simulaciones básicas, kubeadm join es la vía rápida y correcta.
Pero para el examen CKA, debes entender el TLS Bootstrapping manual y practicar cómo hacerlo sin depender del automatismo de kubeadm.


Entender TLS Bootstrapping te da un conocimiento profundo sobre cómo Kubernetes gestiona la autenticación segura de los nodos. Aunque kubeadm join lo automatiza, conocer su funcionamiento interno te prepara para escenarios más avanzados y preguntas técnicas del examen CKA.

📎 En el próximo artículo te mostramos cómo hacer TLS Bootstrapping paso a paso, incluyendo un ejemplo práctico.

👉 Ir al ejercicio práctico sobre TLS Bootstrapping

Comentarios

Entradas populares de este blog

Autenticación y Autorización (Kubernetes).

La autenticación en Kubernetes es un aspecto crítico para la seguridad y control de acceso dentro de un clúster. Kubernetes proporciona varios mecanismos de autenticación para usuarios y cuentas de servicio, que deben pasar a través del API Server para realizar cualquier operación. En este artículo, revisaremos cómo funciona la autenticación y cómo puedes usar herramientas como kubectl y curl para interactuar de manera segura con el clúster. En primer lugar, ¿Qué es la autenticación y la autorización? •     Autenticación:  Es el proceso de verificar quién es un usuario. Responde a la pregunta "¿Quién eres?". •     Autorización: El proceso de determinar qué acciones puede realizar un usuario autenticado. Responde a la pregunta "¿Qué puedes hacer?". Primer paso: Autenticación. La autenticación en Kubernetes es el proceso mediante el cual el sistema verifica la identidad de los usuarios y cuentas de servicio que intentan acceder al clúster.  ...

Tip 1. Exámen CKA. Economiza y optimiza tu tiempo; Usa --help con el paginador Less en la ayuda.

📘 Domina los comandos --help y el uso de less en el examen CKA Durante el examen CKA (Certified Kubernetes Administrator) , uno de los recursos más potentes y completamente permitidos es el uso del --help en los comandos de Kubernetes. Además, puedes combinarlo con el paginador less para buscar y navegar fácilmente entre opciones. ✅ ¿Está permitido usar --help ? Sí, está 100% permitido . Puedes usar el --help de cualquier comando disponible en el entorno del examen: kubectl --help kubeadm init --help kubelet --help kubectl explain pod.spec.containers Estos comandos muestran la ayuda y las opciones disponibles directamente desde el sistema, sin necesidad de ir a la documentación. 🔍 ¿Cómo usar less para buscar rápidamente? Cuando la salida del comando es larga, puedes usar | less para verla de forma paginada y navegar más cómodamente. kubeadm init --help | less Una vez dentro de less , puedes buscar cualquier texto escribiendo /texto . Por ejemplo: /pod-networ...