Como pasé la certificación Certified Kubernetes Administrator

Esta es una experiencia de la certificación CKA por si alguien tiene dudas del proceso.

¿Que certificaciones para Kubernetes existen?

Partamos del hecho que Kubernetes en este momento es un proyecto Open Source donado por Google hacia la Cloud Native Computing Foundation. Al ser un producto Open Source pueden existir no una sino varias ofertas comerciales (que las hay) y en esa línea también diversas certificaciones, por lo que encontramos dos tipos:

Certificaciones de la implementación neutral (evaluadas por The Linux Foundation):

Certificaciones de una implementación en especifico, por ejemplo:

En el caso de las certificaciones neutrales se recomienda tomar CKS y CKA si su principal rol es SRE/sysadmin y CKAD si lo que pretenden hacer es desplegar aplicaciones Cloud Native.

¿Porqué obtener la certificación?

Las certificaciones son una eterna polémica en TI, siendo así establezcamos que para desempeñar un trabajo bien se necesitan dos cosas:

  • Experiencia (que viene con el tiempo y la práctica)
  • Conocimiento (que viene con el estudio)

Y el conocimiento en TI generalmente se demuestra en tres formas:

  • Diploma universitario
  • Certificaciones
  • Ejecución de pruebas técnicas

Tanto las certificaciones como los diplomas universitarios son a larga la validación de un tercero sobre el conocimiento, o sea una prueba técnica anticipada. Estas evaluaciones se realizan sobre una serie de tópicos generales (Universidad) o de una tecnología especifica (Certificaciones), la certificación o diploma universitario tendrá mas prestigio de acuerdo a quien la emite. Para poner un ejemplo no es lo mismo obtener la certificación Java de Oracle que de un proveedor de Mooc.

En otras palabras al obtener la certificación obtienes el sello de aprobación de The Linux Foundation de que sabes Kubernetes.

¿Porqué obtuve yo la certificación?

TL;DR Ver si me perdía de algo, también pereza de estar demostrando a cada rato que si se y pasé con 10 matemáticas, y es una forma monetaria de contribuir con The Linux Foundation obteniendo un beneficio, casi una teleton computina.

Siempre me he descrito como un desarrollador de software que se sabe uno que otro tango en Linux porque lo aprendió en la Universida’ de la Vida. Actualmente me dedico a consultorías con instituciones de banca, industria y gobierno, y en su mayoría mi equipo y/o yo participamos en desarrollo, implementaciones y acompañamiento en definición y arquitecturas de software tradicionales, Cloud Native y cualquier otro termino de marketing que surja en el futuro.

En el corto plazo y como ya he comprobado con otras certificaciones, son un atajo para conseguir contratos y brindar respaldo a los clientes, pero lo más importante evaluar si mi conocimiento está al nivel adecuado de mi experiencia, en Kubernetes en este caso (+/- 4 años).

Dificultad

Para mi la certificación más difícil que he tomado ha sido la certificación Oracle Certified Professional, Java SE 8 Programmer y sigue ahí. Si esa certificación es un 10, ubicaria CKA en un 7.

El examen de certificación tiene una duración total de 2 horas donde se realizan 17 tareas prácticas en al menos 6 clusters diferentes de Kubernetes, con una nota mínima de aprobación de 66%. La ejecución de estas tareas se utiliza una terminal dentro de un navegador Web (Chrome) la cual es bastante incomoda. Como estamos en COVIS toda prueba es remota con la camara encendida todo el tiempo y haciendo screensharing.

Durante el examen te permiten ver la documentación oficial de Kubernetes y Helm porque es imposible memorizar cada uno de los aspectos, pero al ser contra-reloj si no sabes que buscar estas frito (en esta línea recomiendo tener bookmarks).

Las tareas incluidas en mi examen fueron actualizaciones de clusters, troubleshooting, apertura de servicios al exterior mediante NodePorts e Ingress, backup de etcd, definición de políticas de seguridad y red, creación de volumenes de almacenamiento e instalación de un operador, pero puede variar.

Diria que el examen es bastante justo y refleja tareas básicas del día a día de un administrador Kubernetes, pero por mi experiencia creo que las personas lo fallan por los siguientes motivos:

  • No tienen buenas nociones de Linux
  • Hay que leer bien las instrucciones
  • Hay que darse cuenta en que cluster se está trabajado en cada pregunta, si no Ixcamic
  • Es contra reloj y a cada rato te dan advertencias que ya se te va ir la moto
  • Solo está permitida la consulta de recursos en dominios de internet aprobados (documentación de Kubernetes, Helm) y si no haces caso te anulan el test
  • Hay que saber usar bien vi o nano

¿Como me preparé para el test?

Esta sección es un poco difícil porque muchos recursos los fui usando durante el transcurso de los años pero me parecen útiles.

Antes de tomar la prueba el candidato debe de tener buena experiencia en Linux, no a nivel de compilar tu propio Kernel pero si un buen manejo de la terminal, sed, grep, awk, more, less, find, en otras palabras ser un buen Linuxero terminalero, en su momento hace muchos años en una galaxia muy muy lejana yo aprendí Linux por mi cuenta leyendo Linux Bible y también en la Universida’ de la Vida.

Para aprender Kubernetes en su momento compré el libro The Kubernetes Book de Nigel Poulton, es un buen libro introductorio y a excepción de la sección de seguridad (bastante incompleta) es un buen recurso que siempre recomiendo.

Aprovechando que tengo acceso a Oracle Cloud via Oracle Grounbreakers Ambassadors, me armé «a mano» via kubeadm un Cluster con dos nodos en OCI, esto lo pueden hacer también con Oracle Cloud Free Tier, con el objetivo de tener un entorno de pruebas. Muchas personas también recomiendan el tutorial Kubernetes the Hard Way de Kelsey HIghtower pero sinceramente eso solo lo hice una vez cuando empezaba a aprender Kubernetes, ante ese tutorial instalar Gentoo es fácil.

Si sumo los ratos libres donde iba haciendo mis pruebas probablemente ejecuté unas 20 horas de pruebas desperdigadas en 37 dias, la edad de mi clustercito de pruebas:

Al inicio de mi jornada compré el examen para tener una fecha límite y la oferta tenia acceso a Killer Shell con dos intentos. El primero sinceramente lo ejecuté sin humildad y lo perdí, pero me sirvió para identificar cosas no hago tan a menudo para reforzar esos conceptos, siendo en mi caso:

  • Definición de políticas de red
  • Backups de etcd
  • RBAC
  • Sidecars manuales
  • Edits de despliegues en línea de comandos

Al buscar recursos recordé que como Java Champion tengo acceso a Pluralsight VIP Subscription y durante esas 20 horas además de hacer mis pruebas, tomé el MOOC Configuring and Managing Kubernetes Security de Anthony Nocentino para ponerme a punto, y al intentar de nuevo pasé en killer.sh y posteriormente pasé el examen al primer intento (el examen trae dos intentos). La verdad por conocimiento hubiera querido tomar más MOOCs porqué pluralsight tiene un path completo de Kubernetes, pero soy una persona muy ocupada actualmente y:

Al final te dan este diploma:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *