Récemment, j'ai réussi l'examen Certified Kubernetes Application Developer (CKAD) et j'ai obtenu le certificat. Aujourd'hui, je veux parler de la procédure de certification et de ma préparation. Pour moi, c'était une expérience intéressante de passer un examen en ligne sous la surveillance attentive de l'examinateur. Cet article n'apportera pas d'informations techniques précieuses, il est avant tout narratif. Je n'avais pas beaucoup de bagages en travaillant avec Kubernetes et je n'ai pas préparé cet examen avec des collègues ; j'ai appris et pratiqué seul pendant mon temps libre.
Je suis assez jeune dans le domaine du développement web, mais j'ai compris tout de suite qu'il serait difficile d'avancer sans quelques connaissances de base en Docker et K8s. Suivre un cours et se préparer à ce type d'examen m'est apparu comme un bon point d'entrée dans le monde des conteneurs et de leur orchestration.
Si vous pensez encore que Kubernetes est trop compliqué et que ce n'est pas pour vous, je vous invite à poursuivre.
Qu'est-ce que c'est ?
Il existe deux types de certification Kubernetes de la Cloud Native Computing Foundation (CNCF) :
- Certified Kubernetes Application Developer (CKAD) — évaluation de la capacité à concevoir, créer, configurer et publier des applications cloud-native pour Kubernetes. L'examen dure 2 heures, comprend 19 tâches, et le seuil de réussite est de 66 %. Des connaissances superficielles des primitives de base sont requises. Coût : 300 $.
- Certified Kubernetes Administrator (CKA) — évaluation des compétences, connaissances et capacités pour assumer les fonctions d'administration de Kubernetes. L'examen dure 3 heures, comprend 24 tâches, et le seuil de réussite est de 74 %. Des connaissances plus approfondies sur la construction et la configuration des systèmes sont nécessaires. Coût également : 300 $.
Les programmes de certification CKAD et CKA ont été développés par la Cloud Native Computing Foundation afin d'élargir l'écosystème Kubernetes par le biais d'une formation et d'une certification standardisées. Cette fondation a été créée par Google en partenariat avec la Linux Foundation, à qui Kubernetes a été initialement transféré en tant que contribution technologique, et qui est soutenue par des entreprises telles que Microsoft, Apple, Facebook, Cisco, Intel, Red Hat, et bien d'autres (source : Wiki)
En résumé, ce sont des examens de la « principale organisation » pour Kubernetes. Bien sûr, il existe des certifications d'autres entreprises.
Pourquoi ?
Cela pourrait être le point le plus controversé de tout ce projet. Je ne veux pas alimenter le débat sur la nécessité des certificats, j'espère simplement que détenir ce genre de certificat aura un impact positif sur ma valeur sur le marché du travail. Tout est subjectif — on ne sait jamais ce qui sera le facteur décisif pour être embauché.
PS : je ne cherche pas de travail, je suis satisfait de ma situation actuelle… à part peut-être un déménagement quelque part aux États-Unis.
Préparation
Le test CKAD contient 19 questions, qui sont réparties par thèmes comme suit :
- 13 % – Concepts de base
- 18 % – Configuration
- 10 % – Pods multi-conteneurs
- 18 % – Observabilité
- 20 % – Conception des Pods
- 13 % – Services & Réseautage
- 8 % – Persistance des états
Il y a un excellent cours sur la plateforme Udemy d'un indien nommé Mumshad Mannambeth (le lien sera à la fin de l'article). Un matériel vraiment de qualité à un prix modique. Ce qui est particulièrement agréable, c'est qu'au cours du parcours, des exercices pratiques sont proposés dans un environnement de test, vous permettant ainsi de développer vos compétences en console.
J'ai suivi tout le cours et réalisé tous les exercices pratiques (il y a eu des moments où j'ai évidemment regardé les réponses), et juste avant l'examen, j'ai revu toutes les leçons à une vitesse accrue et repassé les deux derniers examens blancs. Cela m'a pris environ un mois à un rythme tranquille. Ce matériel a été largement suffisant pour me permettre de réussir l'examen avec un score de 91 %. J'ai fait une erreur sur un exercice (NodePort n'a pas fonctionné), et il m'a manqué quelques minutes pour terminer une autre tâche concernant la connexion ConfigMap depuis un fichier, bien que je connaissais la solution.
Comment se déroule l'examen
L'examen se déroule dans le navigateur, avec la webcam activée et l'écran partagé. Les règles de l'examen exigent qu'aucune personne étrangère ne se trouve dans la pièce. J'ai passé l'examen alors que le pays avait déjà instauré un confinement, donc il était important pour moi de trouver un moment calme pour que ma femme n'entre pas et que l'enfant ne crie pas. J'ai choisi la nuit profonde, heureusement, il y a une grande variété d'options horaires.
Au début de l'examen, l'examinateur demande de montrer votre pièce d'identité principale contenant une photo et votre nom complet (en lettres latines) — pour moi, c'était mon passeport étranger, et de tourner la webcam vers le bureau et la pièce pour s'assurer qu'il n'y a pas d'objets étrangers.
Il est permis de garder un autre onglet de navigateur ouvert avec l'une des ressources pendant l'examen :, ou . Pour ma part, c'était la documentation, qui était tout à fait suffisante.
Dans la fenêtre principale, en plus du texte des questions, du terminal et du chat avec l'examinateur, il y a aussi une fenêtre pour les notes, où l'on peut copier des noms importants ou des commandes — cela m'a été utile à plusieurs reprises.
Si je ne pouvais donner qu'un seul conseil, ce serait celui-ci :
- Utilisez des alias pour gagner du temps. Voici ce que j'ai utilisé :
export ns=default # variable pour l'espace de noms alias ku='kubectl' # raccourcis pour la commande principale alias kun='ku -n=$ns' # kubectl + namespace alias kudr='kun --dry-run -o=yaml' # flags essentiels pour générer une description yaml pour l'objet - N'oubliez pas les combinaisons de flags pour la commande run, pour générer rapidement du yaml pour différents objets — pod/deploy/job/cronjob (bien qu'il ne soit pas absolument nécessaire de les mémoriser, vous pouvez simplement consulter l'aide avec le flag -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 - Utilisez des noms de ressources abrégés :
ku get ns # au lieu de namespaces ku get deploy # au lieu de deployments ku get pv # au lieu de persistentvolumes ku get pvc # au lieu de persistentvolumeclaims ku get svc # au lieu de services # etc., la liste complète peut être consultée avec la commande : kubectl api-resources - Répartissez judicieusement votre temps pour accomplir toutes les tâches, ne restez pas bloqué sur une seule question, sautez les questions et avancez. Au début, je pensais que j'exécutais les tâches à un rythme très soutenu et que je terminerais l'examen en avance, mais finalement, je n'ai pas eu le temps de terminer deux tâches. En réalité, le temps alloué pour l'examen est très serré, et les deux heures passent dans la tension.
- N'oubliez pas de changer de contexte — au début de chaque tâche, il y a une commande pour changer de cluster afin de travailler dans le bon.
Soyez également attentif à l'espace de noms. Pour cela, j'utilisais un autre hack :alias kun='echo namespace=$ns && ku -n=$ns' # à l'exécution de chaque commande, la première ligne affichait mon espace de noms actuel - Ne soyez pas pressé de payer la certification, attendez les réductions. L'auteur du cours envoie souvent des codes promotionnels par e-mail avec des réductions de 20 à 30 %
- Apprenez enfin à utiliser vim 🙂
Liens :
- — c'est la page de certification elle-même
- — un très bon cours de préparation, tout est clair et illustré
- — des liens utiles et des notes sur l'examen
- — récit de collègues sur Habr concernant la réussite d'un examen CKA plus difficile
Source : habr.com
