Aller au contenu

Astuces efficaces pour réussir l'examen CKAD

Vous souhaitez passer la certification CKAD (Certified Kubernetes Application Developer) ? Découvrez des conseils pratiques et efficaces afin de maximiser vos chances de l'obtenir !

Obtenez la certification CKAD grâce aux astuces ci-dessous

La CKAD (Certified Kubernetes Application Developer) est la certification délivrée par la Linux Foundation pour valider les compétences de développeur sur Kubernetes (dont vous retrouverez ici une description en 2 minutes).

Préambule

Tout d'abord, vous pouvez utiliser le cours Udemy pour parcourir le programme que vous devez connaître, en prenant des notes sur ce que vous voulez revoir.
C'est une bonne façon de parcourir l'intégralité du programme.
Via Udemy, vous avez accès à Kodekloud qui est un simulateur pour pratiquer en parallèle des leçons en vidéos.

La pratique est la clé ! Vous pouvez mettre en place un cluster Kubernetes local avec Kind et travailler sur les exercices CKAD pour assimiler tous les concepts que vous devez apprendre.

La pratique est la clé

Vous devez cependant savoir que cette certification est essentiellement un test de rapidité et qu'il est absolument nécessaire de s'entrainer avec un simulateur proche des conditions réelles de l'examen tel que Killer.sh pour ne pas être surpris (notez qu'il est un peu plus dur que l'examen final).

Vous avez donc les ressources pour être prêt. Maintenant, je vais vous partager quelques astuces pour gagner des secondes précieuses pendant l'examen ... parce que cela va se passer très vite !

Astuces pour être efficace pendant l'examen

Définissez des raccourcis

Editez votre fichier ".bashrc" avec ces valeurs apprises par coeur. Vous découvrirez dans les prochaines étapes en quoi elles vous seront utiles :

# pour accélérer la terminaison des pods
export f='--force'

# pour afficher les valeurs des ressources
export dry='--dry-run=client'
export o='-oyaml'

# pour le changement de contexte
alias kshow='kubectl config get-contexts'
alias kx='kubectl config use-context'
alias kn='kubectl config set-context --current --namespace'

Changement de contexte

Avec ces simples commandes, vous pouvez naviguer rapidement entre les contextes et namespaces sur Kubernetes (sans aucun plugin requis) :

# Afficher le contexte et namespace courants
kshow

# Sélectionner le contexte "kind-kind1"
kx kind-kind1

# Sélectionner le namespace "default"
kn default

Il est très important de connaître ces commandes car vous allez en avoir besoin pour chaque nouvel exercice de l'examen CKAD.
La première question à vous poser, pour chaque nouvel exercice, est : "Quel contexte et quel namespace ?".

Maîtriser Vim et les manipulations Yaml

Vous allez devoir manipuler les fichiers Yaml assez souvent.

Pour Vim, vous devez au minimum gérer les copiers/coller, et basculer entre les fichiers : la commande :e myfile étant plutôt pratique, il ne vous restera plus qu'à basculer entre les buffers.
Voici un aide-mémoire Vim qui peut vous aider.

Vous allez avoir entre 16 et 19 questions, en fonction de la version de l'examen que vous passez.
Vous pouvez créer un dossier, et nommer vos fichiers comme ceci : 01_pod.yaml (01 étant le numéro de la question), afin de retrouver les fichiers des questions précédentes au besoin.

Gérez votre temps

Un système de "flags" est à disposition. Si vous n'êtes pas sûr de votre réponse, flaggez simplement la question et revenez-y plus tard.

Vous pouvez valider les éléments que vous connaissez même si la réponse à l'exercice est incomplète. En effet, au sein d'un fichier d'exercice, vous obtiendrez un pourcentage de points basé sur chaque action que vous avez faite correctement.

Apprenez à générer les fichiers "manifest", depuis la commande impérative

Pour créer une ressource, récupérez les informations :

k create deploy --help

Ensuite, vous pouvez créer les ressources directement avec les commandes impératives :

k create deploy mydep --image=nginx --replicas=3

Ou les créer avec les fichiers manifest générés, comme ceci :

# Exemple de Deployment :
k create deploy mydep --image=nginx --replicas=3 $dry $o > 01_dep.yaml  # edit it
k apply -f 01_dep.yaml

# Exemple de Cronjob :
k create cronjob myjob --image=busybox --schedule="*/1 * * * *" $dry $o -- sh -c "date" > 01_cronjob.yaml  # edit it
k apply -f 01_cronjob.yaml

Apprenez à chercher dans la documentation officielle

Lors de l'examen, vous aurez accès à la documentation Kubernetes.
Apprenez à naviguer dedans en connaissant les bons mots-clés (par exemple, "cheatsheet" qui pourrait être très utile) et, pour les ressources difficiles à générer avec k create, essayez de gérer tout le programme avec.

L'important est de ne pas se perdre

Faites attention, parfois les mots-clés ne sont pas évidents, pour services, pensez à expose, pour secrets, pensez à credentials, etc.

Avec explain vous pouvez avoir la liste complète de paramètres. Si vous avez besoin d'en trouver un en particulier, cela peut être complémentaire et plus facile à trouver que sur la documentation :

k explain po.spec > po-spec
k explain po --recursive=true > po-full

k explain job.spec > job-spec
k explain job --recursive=true > job-full

Apprenez à éditer des ressources existantes

Faites comme ceci :

k edit deploy mydep

Ou en extractant l'output yaml :

k get deploy mydep $o > 01_dep.yaml  # edit it
k apply -f 01_dep.yaml

Bon à savoir : il n'est pas possible d'éditer les spécifications d'un pod directement. Vous allez devoir le détruire et le créer à nouveau (à l'exception de quelques éléments, comme les labels et les annotations).

Apprenez à exécuter des pods temporaires pour lancer les commandes

Comme ceci :

k run nginx --image=nginx:alpine --rm -it --restart=Never -- curl https://www.google.com

Ou alors (Busybox étant plus rapide) :

k run busybox --image=busybox --rm -it --restart=Never -- wget -qO- https://www.google.com

Vous aurez à utiliser curl ou wget pour vérifier si vos services sont bien exposés, vous devez vous familiariser avec ça.

Apprenez à trouver des informations complémentaires

Quelques commandes vont vous aider pour ça :

# Obtenez des informations complémentaires, comme les IPs exposées par les instances
k get po -o wide
k get node -o wide

# Obtenez les labels d'un pod
k get po --show-labels

Accélérez la suppression d'un pod

Vous pouvez gagner quelques secondes en supprimant un pod comme ceci, pour forcer la suppression :

k delete mypod $f

Apprenez les outils complémentaires

Il y a des outils complémentaires que vous devez connaître pour la certification, comme Helm et Docker (ou Podman au choix, ce sont presque les mêmes commandes que Docker).
Prenez également le temps de vous familiariser avec eux.

La documentation Helm, avec une cheatsheet très pratique, est autorisée durant l'examen.

Maintenant, bonne chance !

À ce stade, vous avez de bonnes astuces pour aller vite à ce test.
Assurez-vous d'être à l'aise avec toutes les notions du programme et ça devrait aller.

Rappelez-vous, "pratiquer", "pratiquer", "pratiquer", pour cet examen, c'est la clé !

Dernier