Recientemente aprobé con éxito el examen Certified Kubernetes Application Developer (CKAD) y obtuve mi certificación. Hoy quiero hablar sobre el proceso de certificación y cómo me preparé para él. Para mí, fue una experiencia interesante realizar el examen en línea bajo la atenta vigilancia de un examinador. Este artículo no incluirá información técnica valiosa, tiene un carácter puramente narrativo. Además, no tenía una gran experiencia en trabajar con Kubernetes y no tuve preparación conjunta con colegas, estudié y practiqué por mi cuenta en mi tiempo libre.
Soy bastante nuevo en el campo del desarrollo web, pero pronto entendí que sin al menos conocimientos básicos de Docker y K8s no llegaría lejos. Realizar el curso y prepararme para este tipo de examen me pareció un buen punto de entrada al mundo de los contenedores y su orquestación.
Si todavía piensas que Kubernetes es demasiado complicado y no es para ti, por favor sigue leyendo.
¿Qué es eso?
Hay dos tipos de certificación de Kubernetes por parte de la Cloud Native Computing Foundation (CNCF):
- Certified Kubernetes Application Developer (CKAD) — verifica la capacidad de diseñar, crear, configurar y publicar aplicaciones nativas de la nube para Kubernetes. El examen dura 2 horas, consta de 19 preguntas, y la puntuación mínima para aprobar es del 66%. Se requiere un conocimiento bastante superficial de los principales elementos básicos. El costo es de $300.
- Certified Kubernetes Administrator (CKA) — evalúa las habilidades, conocimientos y competencia necesarias para llevar a cabo las responsabilidades de los administradores de Kubernetes. El examen dura 3 horas, consta de 24 preguntas, y la puntuación mínima para aprobar es del 74%. Se requieren conocimientos más profundos en la construcción y configuración de sistemas. El costo también es de $300.
Los programas de certificación CKAD y CKA fueron desarrollados por la Cloud Native Computing Foundation con el objetivo de expandir el ecosistema de Kubernetes mediante una educación y certificación estandarizadas. Esta fundación fue creada por Google en asociación con la Linux Foundation, a la cual se le entregó Kubernetes como una contribución tecnológica inicial y que cuenta con el apoyo de empresas como Microsoft, Apple, Facebook, Cisco, Intel, Red Hat y muchas otras (c) Wiki.
En resumen, estos son exámenes de la ‘organización principal’ de Kubernetes. Por supuesto, hay certificaciones también de otras empresas.
¿Por qué?
Probablemente este sea el punto más controvertido de todo este asunto. No quiero generar una controversia sobre la necesidad de certificados, simplemente quiero creer que tener un tipo de certificado así impactará positivamente en mi valor en el mercado laboral. Todo es subjetivo: nunca se sabe qué servirá como el momento decisivo para que te contraten.
PD: No estoy buscando trabajo, actualmente estoy satisfecho... bueno, a menos que sea por un reubicación a algún lugar en EE. UU.
Preparación
En el examen CKAD hay 19 preguntas, distribuidas por temas de la siguiente manera:
- 13% – Conceptos Básicos
- 18% – Configuración
- 10% – Pods de Múltiples Contenedores
- 18% – Observabilidad
- 20% – Diseño de Pods
- 13% – Servicios y Redes
- 8% – Persistencia del Estado
En la plataforma Udemy hay un curso increíble de un indio llamado Mumshad Mannambeth (el enlace estará al final del artículo). Realmente es material de muy buena calidad por un pequeño precio. Especialmente genial es que a lo largo del curso se ofrecen ejercicios prácticos en un entorno de prueba, de modo que vas adquiriendo habilidades para trabajar en la consola.
He completado todo el curso y he resuelto todos los ejercicios prácticos (no pude evitar mirar las respuestas en algunas ocasiones), y justo antes del examen volví a revisar todas las lecciones a una velocidad más rápida y nuevamente completé los dos últimos exámenes de práctica. Me llevó alrededor de un mes a un ritmo tranquilo. Este material fue suficiente para que pudiera aprobar el examen con un resultado del 91%. En una tarea cometí un error (NodePort no funcionó), y me faltaron algunos minutos para completar otra tarea relacionada con la conexión de ConfigMap desde un archivo, aunque sabía la solución.
Cómo se desarrolla el examen
El examen se realiza en el navegador, con la cámara web encendida y la pantalla compartida. Las reglas del examen requieren que no haya personas ajenas en la habitación. Yo realicé el examen cuando ya se había implementado el confinamiento en el país, por lo que era importante encontrar un momento tranquilo para que mi esposa no entrara en la habitación o mi hijo no gritara. Elegí la profunda noche, afortunadamente el horario está disponible prácticamente para cualquier preferencia.
Al principio, el examinador solicita mostrar tu ID principal que contenga una foto y tu nombre completo (en letras latinas) — en mi caso era un pasaporte extranjero, y también girar la cámara web hacia el escritorio y la habitación para asegurarse de que no haya objetos extraños.
Durante el examen, está permitido mantener abierta otra pestaña del navegador con uno de los recursos:, o . Yo usé la documentación, fue suficiente.
En la ventana principal, además del texto de las tareas, el terminal y el chat con el examinador, hay una ventana para notas donde se pueden copiar nombres o comandos importantes; me fue útil un par de veces.
Consejos
- Usa alias para ahorrar tiempo. Esto es lo que utilicé:
export ns=default # variable para el espacio de nombres alias ku='kubectl' # acortamos el comando principal alias kun='ku -n=$ns' # kubectl + namespace alias kudr='kun --dry-run -o=yaml' # banderas muy útiles para generar la descripción yaml para el objeto - Recuerda las combinaciones de banderas para el comando run, para generar rápidamente yaml para diferentes objetos — pod/deploy/job/cronjob (aunque no es absolutamente necesario memorizarlas, puedes consultar la ayuda con la bandera -h):
kudr run pod1 --image=nginx --restart=Never > pod1.yaml kudr run deploy1 --image=nginx > deploy1.yaml kudr run job1 --image=nginx --restart=OnFailure > job1.yaml kudr run cronjob1 --image=nginx --restart=OnFailure --schedule="*\/1 * * * * " > cronjob1.yaml - Utiliza nombres de recursos abreviados:
ku get ns # en lugar de namespaces ku get deploy # en lugar de deployments ku get pv # en lugar de persistentvolumes ku get pvc # en lugar de persistentvolumeclaims ku get svc # en lugar de services # etc., puedes consultar la lista completa con el comando: kubectl api-resources - Distribuye bien el tiempo para completar todas las tareas, no te quedes atascado en una sola, omite preguntas y sigue adelante. Al principio pensé que estaba haciendo las tareas a un ritmo muy rápido y que terminaría el examen antes de tiempo, pero al final no terminé dos tareas. De hecho, el tiempo para el examen es justo, y las 2 horas son muy intensas.
- No olvides cambiar el contexto; al inicio de cada tarea se da un comando para cambiar y trabajar en el clúster correcto.
También presta atención al espacio de nombres. Para eso, utilicé otro truco:alias kun='echo namespace=$ns && ku -n=$ns' # al ejecutar cada comando, como primera línea se mostraba mi espacio de nombres actual. - No te apresures a pagar la certificación, espera descuentos. El autor del curso a menudo envía códigos promocionales de descuento del 20-30% por correo.
- Aprende finalmente vim 🙂
Enlaces:
- — la página de la certificación en sí.
- — un curso muy bueno para prepararse, todo claro y con ilustraciones.
- — enlaces útiles y notas sobre el examen.
- — relato de colegas en Habr sobre la aprobación de un examen más complejo, el CKA
Fuente: habr.com
