Certified Kubernetes Application Developer (CKAD)

5 minute read

Certified Kubernetes Application Developer


Recientemente aprobé el examen Certified Kubernetes Application Developer (CKAD) elaborado por The Linux Foundation. Comparto mi experiencia y algunas recomendaciones para prepararse para el examen.

El examen

El examen es 100% práctico con 19 preguntas que se deben resolver en 2 horas, con un supervisor (proctor) que verifica que estés solo durante el examen, así como que cumplas todas las reglas para presentar (por ejemplo en mi caso me pidieron cerrar todas las puertas que daban acceso a mi comedor, que fue donde presenté el examen)

Algunas preguntas serán fáciles, otras tendrán varios pasos a seguir, por lo que debes administrar muy bien el tiempo. La preguntas se te mostrarán en un panel del lado izquierdo y tendrás acceso a un terminal donde deberás ejecutar las órdenes para resolverlas.

Exam UI


Habrán preguntas para crear recursos y otras para identificar y resolver problemas (troubleshooting). Podrás copiar y pegar desde las instrucciones, además de tener acceso a un lugar para notas, por ejemplo para llevar el conteo de las preguntas pendientes.

Podrás consultar la documentación de Kubernetes desde estos sitios https://kubernetes.io/docs/, https://github.com/kubernetes/, https://kubernetes.io/blog/, abriendo una y solo uno pestaña adicional al examen.

El examen lo puedes presentar con Chrome, por lo que de los sitios mencionados arriba puedes acceder desde tus marcadores (sí, está permitido)

Mi experiencia

Tenía algo de expectativa porque es un examen práctico, y como era el primero de este estilo que presentaba no sabía con qué me iba a encontrar ni cómo iba a poder manejar el tiempo.

Durante el examen me pasaron me varias cosas que me retrasaron, por ejemplo al utilizar una combinación de teclas de Vim para moverme entre ventanas cerré accidentalmente el examen, con lo cual tuve que reconectarme y contactar al proctor.

Por otro lado, ese día mi proveedor de Internet tenía problemas y hacía que mi conexión estuviese muy lenta, por lo que los cambios en los yamls los veía con retardos de aproximadamente 5 segundos.

En algún momento la conexión se perdió completamente, y el examen se cerró, teniendo que ingresar nuevamente y coordinar con el proctor.

Otra de las cosas que me pasó fue que la alarma del celular que estaba cerca empezó a sonar (el examen lo hice a las 5:00 AM), asi que le pedí permiso al proctor para apagarla, con lo cual tuvo que pausar el examen.

Todas estás desconexiones y pausas no detienen el tiempo, cuando se comienza el examen se tienen 2 horas exactas.

Otro inconveniente que tuve fue que no tenía un reloj para llevar el tiempo en la interfaz del examen sino una barra de progreso que en ocasiones no estaba, por lo que el proctor me recordaba el tiempo restante cada tanto, interrumpiendo mi concentración.

¿Cómo prepararse?

Existen varios recursos gratuitos y otros pagos, todos válidos para prepararse, pero es fundamental tener experiencia práctica. Listo algunos de ellos:

Libros

Cursos en línea

  • Kubernetes Certified Application Developer (CKAD) with Tests (Mumshad Mannambeth): Este curso está muy bien diseñado y explica en detalle y con muchas animaciones los conceptos necesarios para aprender a desplegar aplicaciones en un cluster de Kubernetes. Adicionalmente da acceso a una plataforma llamada Kloud Kode creada con Teachable y con entornos de Katacoda diseñados para cada tema tratado, dos laboratorios tipo examen (con un grado de dificultad alto) y dos examenes para practicar y preparase para trabajar bajo la presión del examen real.
  • Certified Kubernetes Application Developer (CKAD) - Linux Academy: Si tienes una suscripción de LinuxAcademy puedes seguir este curso. Ten en cuenta dos cosas: 1) Se enfocan en editar los yamls y poco en cómo generarlos. 2) Los exámenes que tienen para practicar no son tan difíciles y pueden resultar insuficientes para aprobar sin haber practicado más allá de estos. Es recomendable hacer los laboratorios, los exámenes y otras preguntas para ejercitarse (ver abajo)
  • Kubernetes Deep Dive - A Cloud Guru: Este curso es para tener una visión general de Kubernetes, por ejemplo de su arquitectura (API Server, Kubelet, etc) así como para dar los primeros pasos en despliegues de aplicaciones. No incluye laboratorios prácticos.
  • Kubernetes Fundamentals - A Cloud Guru: Este curso es para iniciarse con Kubernetes, para tener los conceptos fundamentales. Ideal para quienes no han tenido contacto con Kubernetes. No incluye laboratorios prácticos.

Entornos para prácticar

  • Katacoda: Esta plataforma permite interactuar con un cluster de un nodo, desde una consola web, similar a lo que conseguiríamos en el examen. Lo interesante es que hay escenarios creados por otros usuarios que se pueden utilizar para aprender conceptos básicos, como por ejemplo secrets, configmaps, volumes, etc. Ten en cuenta que cada escenario dura máximo una hora.
  • Minikube: Con esta opción podrás instalar una máquina virtual para tener tu propio cluster de un nodo.

Ejercicios para practicar

Notas finales

Nuevamente te recomiendo que practiques mucho antes de presentar el examen, incluso si tienes experiencia con Kubernetes. La gestión del tiempo es importante, por lo que debes estar preparado para usar rápidamente la documentación de Kubernetes (desde la página o desde la consola con kubectl), estar preparado a generar yamls (no editarlos), y manejar los nervios y la presión.

Referencias

Leave a Comment