Kubernetes : astuces pour votre examen CKAD par la CNCF

Il y a quelques jours, j’ai passé l’examen CKAD, le Certified Kubernetes Application Developer, et obtenu un score honorable de 95%, avec en prime le badge CKAD !
J’espère que mon retour d’expérience vous aidera, que ce soit pour obtenir votre certification ou pour vous donner envie de passer l’une des certifications CNCF : bonne chance ! 🙂
Pour ma part, il est maintenant temps de mettre le cap vers la CKA, Certified Kubernetes Administrator !

source: oysteryachts.com
Genèse et chiffres
Cela fait plusieurs mois que je me suis inscrit pour passer l’examen CKAD. Comme beaucoup de gens, je tombais dans le piège de la procrastination. Bien sûr, en tant que DevOps Lead chez Sokube, je peux me cacher derrière les activités commerciales et les projets clients, et à un moment donné c’est assez facile car il y a beaucoup à faire dans une petite entreprise.
Comme je devrais de toute façon la repasser dans 2 ans pour maintenir ma certification active, je repoussais intelligemment jusqu’au moment où j’en aurais réellement besoin d’un point de vue professionnel. La certification était en effet initialement valable 2 ans, avant d’être étendue à 3 ans en janvier pour s’aligner sur les autres certifications CNCF et Linux Foundation.
Pour être honnête, autre chose m’a fait repousser cette tâche indéfiniment : les examens CKAD et CKA sont réputés très difficiles. Je pense que j’étais un peu effrayé par les différents articles sur Internet racontant à quel point c’est dur… et c’est effectivement dur ! Passer un QCM en ligne avec la possibilité de répondre au hasard quand on n’a absolument aucune idée de la réponse, c’est une chose. C’est totalement différent avec un environnement pratique en ligne de commande. Il n’y a tout simplement aucune place pour le bluff…
Et les chiffres ne mentent pas ! En janvier 2020, la CNCF a annoncé que 5 300 personnes s’étaient inscrites à l’examen CKAD depuis sa création en mai 2018. Cependant, seules 2 400 avaient obtenu la certification, soit environ 45%, ce qui est très peu pour une certification professionnelle.
Alors oui, les certifications CNCF représentent un travail considérable et une expérience formidable !
Partager mon expérience
Dans le cadre de l’approche ouverte que SoKube porte sur la technologie et l’expérience, c’est maintenant à mon tour de partager ce vécu formidable. Je dis formidable car au-delà du bachotage pour l’examen, toute la préparation est un véritable voyage : un voyage pour acquérir une connaissance plus profonde des conteneurs Docker, de l’orchestration et des rouages internes du moteur Kubernetes.
Comme beaucoup, je me suis formé grâce à un cours en ligne, et il y en a un grand nombre disponibles. Je veux cependant mettre en avant le cours proposé par Mumshad Mannambeth sur Udemy, car il combine théorie et pratique avec des dizaines de labs pratiques, ainsi que des labs “éclairs” pour gagner en rapidité en ligne de commande et des examens blancs, le tout propulsé par la plateforme KodeKloud.
L’examen
Le démarrage : la procédure avec le Proctor
Vous pouvez accéder à l’environnement d’examen 15 minutes avant l’heure réellement programmée. Profitez de ce temps pour effectuer la procédure avec le Proctor, car cela prend du temps, surtout si vous avez un écran externe.
Le Proctor suit une procédure très scriptée, au point que je me suis demandé s’il s’agissait d’une IA 😉
- Mettez le volume de vos enceintes à 0, car le Proctor n’interagit qu’via la fenêtre de chat. Cela évitera un vilain effet Larsen.
- Le navigateur Chrome : c’est la seule application que vous serez autorisé à utiliser pendant l’examen. Oubliez Safari et les autres navigateurs.
- On vous demandera de montrer l’endroit où vous êtes assis avec une présentation lente à 360° de la pièce : mieux vaut être dans une petite pièce calme, sans rien sur les murs.
- Vous devez également avoir un bureau parfaitement dégagé, avec seulement votre ordinateur portable, votre écran, votre alimentation, ainsi qu’un clavier et une souris supplémentaires : gardez tout le reste hors de la pièce, y compris votre montre, votre smartphone, des papiers, un casque…
- N’oubliez pas une bouteille d’eau (ou votre boisson préférée) sans rien d’écrit dessus. Même si le temps n’est pas très chaud, votre cerveau va produire de la chaleur, et pas qu’un peu…
- Vous pouvez retirer l’icône VS Code de votre barre de lancement et les autres icônes d’IDE je suppose.
- Prenez aussi le temps de vous familiariser avec l’environnement d’examen : il y a une visite guidée !
- Dernier point : préparez-vous pour deux heures… ce serait dommage de devoir demander une pause “AFK bio” et de perdre de précieuses minutes.
L’environnement d’examen est d’ailleurs très pratique : les questions à gauche et une grande fenêtre de terminal avec une intégration copier/coller agréable. Vous pouvez en effet copier/coller des données directement depuis l’énoncé de la question vers vos fichiers de configuration. Vous pouvez aussi naviguer facilement entre les questions et marquer celles sur lesquelles vous souhaitez revenir à la fin… si vous avez du temps devant vous…
Le déroulement de l’examen
L’examen est composé de 19 labs : c’est vraiment intense et il faut rester concentré sans interruption pendant 2 heures. C’est peut-être le plus grand défi 😉
J’avais terminé les dix premières questions en environ 45 minutes : il n’y a pas de compte à rebours précis, juste une jauge verte qui devient orange et un message du Proctor pour les 15 dernières minutes. Je m’attendais alors à finir 10 à 20 minutes avant la fin, mais il m’a fallu tout le temps restant pour terminer les questions suivantes. J’ai quand même eu le temps de revenir sur une question que j’avais marquée et de corriger ma configuration YAML.
Vous devrez être rigoureux et méthodique dans votre approche pour répondre aux questions, surtout si vous souhaitez revenir sur certaines d’entre elles. Le schéma de base ressemble à ceci :
|
Les astuces de pro
Attachez votre ceinture
Le CKAD est une question de vitesse, pas de précipitation. Alors avant de vous lancer dans les labs, prenez un petit moment pour booster votre console shell !
|
Lisez la question
Cela paraît évident, mais sous pression du temps, vous ferez probablement des erreurs. La plupart des questions sont linéaires du point de vue de l’énoncé, mais il y a parfois une information cruciale à la fin :
- le nom du namespace
- les ressources déjà créées
- les ressources que vous ne devez surtout pas modifier
C’est pourquoi il est important de lire l’énoncé jusqu’au bout.
Vos deux meilleurs amis
YAML et vi sont vos deux meilleurs amis pendant l’examen ! Pour la majorité des questions, vous ne pouvez pas répondre simplement en tapant une commande Kubectl. Vous devez écrire du YAML et configurer vos ressources Kubernetes.
Vous n’aurez clairement ni le temps ni l’énergie de taper l’intégralité des ressources Kubernetes à la main. Les astuces consistent à utiliser :
- les commandes impératives, malgré le changement apporté à Kubernetes 1.18 concernant kubectl run
- la documentation Kubernetes, qui fournit des extraits de code pratiques
Il y a eu beaucoup de bruit et, de mon point de vue, des conseils complexes autour du changement de la commande kubectl run depuis Kubernetes 1.18. Pour moi, c’est une excellente chose car “kubectl run” ressemble désormais à la commande “docker run”, et cela ne prend pas beaucoup de temps de créer des Deployments, des Jobs et des CronJobs grâce à la commande “kubectl create”.
kubectl : Kubernetes en mode impératif
Dans votre vie de développeur, vous utiliserez un peu la commande kubectl, et plus probablement les charts Helm et votre pipeline CI/CD pour interagir avec votre cluster Kubernetes.
L’examen CKAD ne nécessite pas une connaissance exhaustive de la commande kubectl, mais vous aurez tout de même besoin de connaître certaines commandes du pense-bête kubectl et quelques autres : voici mes préférées.
|
Numérotez vos fichiers de configuration
Celui-là aussi paraît être un conseil évident. Comme indiqué, vous devrez produire des fichiers YAML, d’abord à l’aide de commandes impératives, puis avec votre éditeur préféré pour les personnaliser. Pour certaines questions, j’ai dû créer deux fichiers, par exemple :
- 06.yaml
- 06-svc.yaml – vous pouvez aussi ajouter au premier fichier
Si vous souhaitez revenir à la question 11 après avoir terminé ou passé les 19 labs, vous serez ravi de pouvoir rouvrir directement le fichier nommé “11.yaml”, plutôt que de chercher pod.yaml, deploy.yaml ou nginx.yaml 😉
Le troisième homme
Dans l’examen, il y a vous, le proctor… et la communauté Kubernetes ! Vous avez accès à l’intégralité du site kubernetes.io et à quelques autres domaines.
Utilisez-le intelligemment ! Vous n’avez pas le temps de lire des sections entières de la documentation Kubernetes, mais vous pouvez récupérer des extraits de code pour la persistance, les probes, les tolerations, la NodeAffinity, etc.
Voici la liste de mes favoris pour éviter de chercher dans la documentation Kubernetes :
Configuration des pods
Ressources Kubernetes
Vérifiez ! vérifiez ! et re-vérifiez !
Il n’y a rien de plus agaçant qu’une faute de frappe… Alors vérifiez tout et faites attention aux détails :
- vérifiez vos commandes (à la fin, j’essayais d’exécuter “kubectl run 18.yaml” 😣)
- vérifiez vos fichiers YAML par rapport à l’énoncé de la question
- vérifiez le statut de vos ressources Kubernetes, qu’il s’agisse des Pods, Deployments, Services, Endpoints…
- vérifiez à nouveau la description (“kubectl describe”) des ressources Kubernetes par rapport à l’énoncé de la question
Je peux vous assurer que ce n’est pas un problème de manque de temps.
À la chasse du 100%
Être certifié ne nécessite que 66% pour le CKAD. Avec un peu de pratique et une approche méthodique, j’imagine que décrocher la certification CKAD est tout à fait à la portée de chacun.
Mais pour ceux qui, comme moi, visent le 100%, il faudra beaucoup pratiquer, car il n’y a aucune place pour l’improvisation. Une réelle expérience de la plateforme Kubernetes est également une aide précieuse (à condition de ne pas utiliser de CRD spécifiques à des éditeurs), car vous serez alors habitué au dépannage et saurez où regarder.
36 heures
36 heures, c’est un instant à l’échelle d’une vie. Pourtant, après avoir passé l’examen, vous trouverez peut-être que c’est très, très long. Vous vous surprendrez peut-être à vérifier frénétiquement votre boîte mail toutes les heures, voire toutes les 10 minutes…
Rien à espérer les 24 premières heures après l’examen : vous pouvez commencer à regarder vos emails à partir de 28/30 heures après l’examen…
Pour aller plus loin, découvrez notre formation Kubernetes et l’accompagnement de nos experts Kubernetes.