Ir al contenido principal

Manifiestos YAML para el exámen CKA.

 En el examen del CKA (Certified Kubernetes Administrator), no necesitas memorizar completamente los manifiestos YAML porque puedes utilizar la documentación oficial de Kubernetes, que estará disponible durante el examen. Sin embargo, es fundamental que tengas un conocimiento práctico sobre cómo crear y modificar YAML rápidamente, porque el tiempo es limitado.

¿Qué necesitas practicar para el examen?

  1. Esqueleto básico de los recursos más comunes

    • Aprende cómo se forman los manifiestos para:
      • Pods
      • Deployments
      • Services
      • ConfigMaps
      • Secrets
      • PersistentVolumes y PersistentVolumeClaims
      • NetworkPolicies
      • Roles/RoleBindings

    Ejemplo básico de un Pod:

    apiVersion: v1 kind: Pod metadata: name: my-pod namespace: default spec: containers: - name: nginx image: nginx:latest
  2. Uso del comando kubectl run para generar YAML En el examen, puedes usar kubectl run para generar una plantilla básica y luego modificarla.

    kubectl run my-pod --image=nginx --dry-run=client -o yaml > pod.yaml
  3. Uso de kubectl explain Este comando te ayuda a entender qué campos están disponibles para un recurso y sus subcampos. Ejemplo:

    kubectl explain pod.spec.containers
  4. Aplicar cambios sobre la marcha

    • Saber usar kubectl edit para modificar recursos en vivo.
    • Ser ágil con kubectl patch para cambios rápidos.
  5. Estructuras repetitivas

    • Práctica con bloques comunes como:
      • Env variables en los contenedores.
      • Volúmenes y montajes.
      • Tolerations y NodeSelectors.

    Ejemplo con variables de entorno y volúmenes:

    apiVersion: v1 kind: Pod metadata: name: pod-with-env spec: containers: - name: app image: my-app:latest env: - name: ENV_VAR value: "production" volumeMounts: - name: config-volume mountPath: /app/config volumes: - name: config-volume configMap: name: app-config
  6. Trabajar con tiempo limitado

    • El tiempo en el examen es crítico. Familiarízate con atajos en editores como vim o nano, y usa trucos como copiar/pegar desde la documentación.

 Memoriza los Manifiestos Esenciales

Comienza con los más comunes para el examen CKA:

  • Pod: El recurso básico.
  • Deployment: Para gestionar aplicaciones replicadas.
  • Service: Para exponer aplicaciones.
  • ConfigMap y Secret: Para configuración y datos sensibles.
  • PersistentVolumeClaim (PVC): Para almacenamiento persistente.

indentación:

 La indentación es el espacio que se agrega al comienzo de una línea de texto para organizar el contenido y mostrar su estructura jerárquica. 

  • En algunos lenguajes (como Python o YAML), la indentación es obligatoria para definir la estructura jerárquica.
  • En otros lenguajes (como C, Java o HTML), es opcional, pero altamente recomendada para mantener buenas prácticas.
  • La indentación en YAML es crucial porque se utiliza para definir las jerarquías en los datos y no admite tabulaciones (\t). Solo se aceptan espacios. El número de espacios no importa, siempre que sea consistente en el mismo nivel de jerarquía.

    Reglas básicas de indentación en YAML:

    1. Espacios en lugar de tabulaciones: Utiliza únicamente espacios para la indentación. Las tabulaciones generan errores.
    2. Indentación consistente: Cada nivel de jerarquía debe estar indented con el mismo número de espacios. Por ejemplo, puedes usar 2 o 4 espacios, pero debes mantener la consistencia en todo el archivo.
    3. Niveles de jerarquía: Los valores que pertenecen a una clave superior deben estar más indentados que la clave principal.

    Practica con Ejercicios Repetitivos

    Configura un clúster local (minikube o kind por ejemplo) y repite la creación de los recursos. 

    Ejemplos

           * Escribe un manifiesto YAML desde cero.

            * Aplica el manifiesto con kubectl apply.

            * Verifica los resultados con:

    kubectl get <resource-type>
    kubectl describe <resource-type> <resource-name>

            * Elimina y ajusta errores hasta que funcione.

    Estrategia para el examen:

    • No memorices YAML completo, pero sí comprende su estructura.
    • Aprende a buscar en la documentación oficial eficientemente.
    • Practica crear y modificar YAML rápidamente en un editor.
    • Domina kubectl para generar, inspeccionar y aplicar recursos.

    Con suficiente práctica, te sentirás cómodo trabajando con YAML y serás eficiente en completar las tareas del examen.

    Errores Comunes al Trabajar con Manifiestos YAML

    Durante el examen y en la práctica diaria, es fácil cometer errores al trabajar con YAML. Aquí tienes una lista de errores comunes y cómo evitarlos:

    1. Problemas de indentación:

      • Error: Usar tabulaciones en lugar de espacios.
      • Solución: Configura tu editor para que convierta automáticamente las tabulaciones en espacios.
      • Recomendación: Usa 2 o 4 espacios y mantén la consistencia.
    2. Nombres de recursos duplicados:

      • Error: Crear dos Pods o Deployments con el mismo nombre.
      • Solución: Asegúrate de usar nombres únicos para cada recurso dentro del mismo namespace.
    3. Falta de campos obligatorios:

      • Error: Olvidar campos como selector en un Deployment.
      • Solución: Usa kubectl explain para verificar los campos obligatorios.
    4. Errores en las etiquetas (labels):

      • Error: No usar las mismas etiquetas en el selector del Deployment y los Pods.
      • Solución: Revisa que matchLabels en el selector coincida exactamente con las etiquetas definidas en el Pod

    Aprovecha los Recursos del Examen

    El examen CKA permite el acceso a documentación oficial, así que asegúrate de familiarizarte con ella antes del día del examen. Aquí tienes algunos recursos útiles que puedes consultar rápidamente:

    1. Documentación Oficial de Kubernetes:

    2. Atajos en kubectl:

      • Usa kubectl create con --dry-run=client para generar plantillas YAML rápidamente.
      • Comando para obtener recursos:
        kubectl get all --namespace=<namespace>
    3. Listas de Comandos Esenciales:

      • Verificar recursos:
        kubectl get pods
      • Revisar configuración detallada:
        kubectl describe pod <pod-name>

    Ejercicios Recomendados

    Practicar es clave para dominar la creación y modificación de manifiestos YAML. Aquí tienes algunos ejercicios sugeridos:

    1. Crear y modificar un Deployment:

      • Escribe un manifiesto que implemente una aplicación con 3 réplicas.
      • Agrega variables de entorno y un volumen ConfigMap.
      • Escala el Deployment a 5 réplicas con un solo comando.
    2. Simular un caso real:

      • Define un Service para exponer un Pod mediante un LoadBalancer.
      • Crea un ConfigMap con una configuración específica y monta este ConfigMap en un Pod.
    3. Explora errores y soluciona problemas:

      • Crea un manifiesto YAML con errores intencionados (como etiquetas mal configuradas) y corrige los errores hasta que funcione.

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

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