Ir al contenido principal

Entradas

🔁 Renovación y Rotación de Certificados en Kubernetes (kubeadm certs)

  🎯 Introducción En un clúster de Kubernetes, la mayoría de los certificados generados por kubeadm tienen una validez de un año . Para evitar interrupciones en los componentes críticos, es fundamental revisar periódicamente su vigencia y saber cómo renovarlos correctamente. En este artículo aprenderás: Cómo comprobar la expiración de los certificados Cómo renovarlos automáticamente con kubeadm Cómo simular una renovación manual con openssl Cómo aplicar los cambios reiniciando los componentes afectados 🕵️‍♂️ Comprobación del estado de los certificados Kubernetes ofrece una herramienta integrada para revisar los certificados del clúster: kubeadm certs check-expiration Este comando muestra información clave: Fecha de expiración Tipo de certificado Ruta en el sistema 📌 Salida de ejemplo: CERTIFICATE EXPIRES RESIDUAL TIME CERTIFICATE AUTHORITY apiserver Jan 06 , 2026 19 :56 UTC 330d ...

Ubicación, Estructura y Manejo básico de certificados.

                                                     Kubernetes utiliza certificados TLS (X.509) para cifrar la comunicación entre sus componentes y autenticar identidades (usuarios, nodos, API Server, etc.). Estos certificados son generados y gestionados automáticamente cuando se instala un clúster con kubeadm . En este artículo, veremos dónde se almacenan los certificados , cuál es su estructura y cómo inspeccionarlos fácilmente, una habilidad muy útil para el examen CKA. Cuando creas un clúster con kubeadm , los certificados se generan por defecto en el directorio: /etc/ kubernetes /pki/ Puedes ver su contenido con: ls -l /etc/kubernetes/pki/ También hay certificados en: /etc/kubernetes/ (ahí verás admin.conf , kubelet.conf , etc., que incluyen certificados embebidos, como veremos más abajo). 🧱 Estructura de los ce...

Ejercicio 3, CKA – Certificados y PKI. Bloque 1.4. Cluster Architecture, Installation & Configuration

📝 Enunciado: Estás administrando un clúster Kubernetes y necesitas validar, gestionar y reemplazar un certificado TLS caducado del kube-apiserver . Además, debes revisar la autoridad certificadora (CA) utilizada por el clúster y entender el flujo de validación de certificados. 🎯 Objetivos: 🔹 Paso 1: Localiza y examina el certificado TLS usado por el kube-apiserver . 🔹 Paso 2: Comprueba su fecha de expiración y emisor. 🔹 Paso 3: Renueva el certificado manualmente usando openssl (simulación), firmándolo con la CA del clúster. 🔹 Paso 4: Reemplaza el certificado antiguo por el nuevo y reinicia el componente. 🔹 Paso 5: Verifica que el API Server vuelve a estar operativo y el nuevo certificado está en uso. 📦 Datos del entorno: El certificado del API server está en: /etc/ kubernetes /pki/ apiserver.crt La clave privada está en: /etc/ kubernetes /pki/ apiserver.key La CA que firma los certificados está en: /etc/ kubernetes /pki/ ca.crt /etc/ kubernetes /pki/ ca.ke...

Solución. Ejercicio 2, CKA – TLS Bootstrapping. Bloque 1. Cluster Architecture, Installation & Configuration

  ✅ Solución paso a paso: TLS Bootstrapping manual 🔹 Paso 1: Generar un token bootstrap en el nodo controlplane kubeadm token create --ttl 2h \ --description "Token para worker1 TLS Bootstrapping" Resultado esperado: a1b2c3.d4e5f6g7h8i9j0kl Apunta ese token, lo necesitarás en worker1 . 🔹 Paso 2: Crear el ClusterRoleBinding necesario kubectl create clusterrolebinding kubelet-bootstrap \ --clusterrole=system:node-bootstrapper \ --group=system:bootstrappers Esto permite que los nodos que se unan con ese token puedan solicitar certificados al API Server. 🔹 Paso 3: En el nodo worker1 , configurar el kubelet con el token Primero, aseguramos que el kubelet esté habilitado y configurado. a) Crea el archivo /etc/kubernetes/bootstrap-kubeconfig KUBE_API_SERVER= "https://<IP o nombre del master>:6443" TOKEN= "<tu-token-generado-en-el-paso-1>" kubectl config set-cluster bootstrap \ --server= ${KUBE_API_SERVER} \ --insecure-skip-tls-ve...

Ejercicio 2, CKA – TLS Bootstrapping. Bloque 1. Cluster Architecture, Installation & Configuration

 📝 Enunciado: Has recibido acceso a un nodo llamado worker1 que necesita unirse al clúster controlplane . Para este ejercicio, debes configurar correctamente el TLS Bootstrapping del kubelet en worker1 . 🎯 Tareas: 🔹 Paso 1: En el nodo controlplane , genera un token de bootstrap válido que permita a worker1 solicitar un certificado. 🔹 Paso 2: Crea el ClusterRoleBinding necesario para que los nodos nuevos (grupo system:bootstrappers ) puedan solicitar certificados al API Server. 🔹 Paso 3: Desde worker1 , realiza el join al clúster utilizando el token generado. Asegúrate de que el kubelet se inicie automáticamente. 🔹 Paso 4: Verifica desde el nodo controlplane que se ha generado una CSR (Certificate Signing Request) por parte de worker1 . 🔹 Paso 5: Aprueba manualmente la CSR. 🔹 Paso 6: Confirma que el nodo worker1 aparece en el clúster y está en estado Ready . 💡 Tips: Solo puedes utilizar herramientas ya instaladas: kubeadm , kubectl , kubelet , y la...

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 autentic...

Solución Ejercicio 1, CKA. Bloque 1. Cluster Architecture, Installation & Configuration

                                Solución Ejercicio 1, CKA. Bloque 1. Cluster Architecture, Installation & Configuration En este post encontrarás la solución detallada al primer ejercicio simulado del bloque 1 del CKA. Vamos paso a paso: 🔹 Paso 1: Inicialización del clúster Ejecutamos el siguiente comando para inicializar el clúster: kubeadm init --pod-network-cidr=10.244.0.0/16  Este comando cumple con los siguientes requisitos del enunciado: El nombre del nodo se mantiene (es el hostname actual del sistema) Los manifiestos estáticos del plano de control se colocan automáticamente en /etc/kubernetes/manifests , su ubicación por defecto Paso 2: Configurar kubectl como root Una vez finalizado kubeadm init , seguimos las instrucciones sugeridas por su salida para configurar kubectl : mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config s...