Skip to content

En route vers la certification CKS

Dans mon article sur la CKA sorti en juillet 2024, j’avais écrit noir sur blanc « Maintenant, je pense passer la CKS d’ici la fin de l’année ! 💪 (oui, il y aura un article, oui) ».

Je sais… On est en Septembre 2025 mdr, mais bon, mieux vaut tard que jamais non ?

C’est pas parce-que mon voucher expirait le 16 septembre que je me suis décidé à la passer non non (🫣). Mais parce-que j’avais envie d’aller plus loin sur la partie sécurité, qui est un sujet que j’apprécie beaucoup! (et un peu pour le voucher, ok)

Pour les personnes qui ne voient pas de quoi je parle, la Certified Kubernetes Security (CKS) est une certification proposée par la CNCF et la Linux Foundation. On peut voir ça comme une surcouche orientée sécu au-dessus de la CKA. Typiquement on avoir des sujets comme :

  • Comment limiter les permissions d’un Pod ?
  • Comment scanner et sécuriser les images utilisées ?
  • Comment renforcer l’isolation et la surveillance du cluster ?

C’était l’occasion d’en apprendre plus sur les bonnes pratiques de sécurité, de pratiquer, mais aussi de me donner une excuse pour creuser sérieusement le sujet avec une deadline 😂.

Assez parlé, comment je m’y suis préparé à cette CKS ?

La prépa ?

J’ai décidé de miser sur un seul support qui est le cours KodeKloud Certified Kubernetes Security Specialist – CKS.

Il faut le dire, il va falloir passer à la caisse. L’abonnement est mensuel, autour de 40 € par mois (sans engagement). Mais franchement, le contenu vaut vraiment le coup.

Les modules et les vidéos sont très bien structurés et clairs, même si tout est en anglais.

Le vrai gros plus et la raison pour laquelle je voulais absolument ce cours, ce sont les labs. À la fin de chaque module, on peut directement mettre en pratique ce qu’on vient d’apprendre. Ça permet de valider ses connaissances progressivement. En plus, ce cours m’avait été fortement recommandé (coucou Gug si tu passes par là 👋).

Pour l’organisation, je me suis fixé un rythme assez régulier. Environ 4 semaines de préparation à raison de 1 à 2 heures par jour. L’idée, c’était d’avancer module par module, sans sauter d’étapes et de m’assurer que chaque partie était bien assimilée avant de continuer.

Une fois tous les modules terminés, place aux mock exams proposés par KodeKloud. Ce sont des examens blancs, chronométrés, avec une dizaine de questions proches de celles qu’on pourrait retrouver le jour J.

Autant être honnête… Je pensais que ça allait rouler, vu que j’avais validé les modules sans trop de difficulté. Résultat du premier exam : à peine 20 % de réussite. ça m’a remis les idées en place 😅.

Du coup, retour aux révisions sur les points qui m’avaient posaient problème (network policies, admission controller, les Falco rules). Je refaits plusieurs fois les exams blancs (sans tricher, sans aller voir les solutions entre deux passages) jusqu’à atteindre un score que je juge satisfaisant (au-dessus des 80 % à chaque fois).

À ce moment-là, je me suis dit qu’il est temps de booker une date.

Comme pour la CKA, j’ai activé mes sessions killer.sh 48h avant le passage de l’examen, histoire de me mettre en condition réelle et de solidifier les acquis (je détaille ma méthode dans mon article sur la CKA pour ceux qui veulent).

Encore une fois, ça ne s’est pas très bien passé… Premier essai, les questions m’ont semblé impossibles ! Je termine avec un score de 29/84 au bout du timer de 2h avec beaucoup de questions non traitées…

Là, je me dis que c’est vraiment chaud, et je décide de re programmer une date de passage à la semaine d’après.

Pendant 4 jours, j’ai littéralement poncé les sessions killer.sh. J’en faisais 2 par jours, 2h le matin, 2h l’aprem. J’arrive à monter jusqu’à 73/84.

J’ai aussi trouvé le week-end avant mon passage un set de questions sur killercoda spéciale CKS, c’est gratuit et les questions sont vraiment pertinentes. Je recommande à 200%. En plus, il tombait à pic parce-que j’avais épuisé mes sessions killer.sh. Donc je passe littéralement mon samedi aprem et dimanche aprem à faire tous les exos. Avant le passage Lundi matin !

Jour de l’exam

ça y est, le D-Day ! Je lance le PSI Browser, je fais le check-in avec l’instructeur et boom, l’examen se lance en même temps que le compte à rebours de la CKS qui est de 120 minutes. J’ai 16 questions. On est sur le même principe que la CKA avec un environnement Linux fourni, plusieurs clusters Kube et un accès à la documentation officielle Kubernetes et quelques autres docs autorisées, je vous laisse aller check sur le lien (pas de besoin de les retenir, les liens vous serons fourni avec la question).

Les premières minutes ont été un gros moment de panique, je lis les 3 premières questions et je ne comprends rien du tout à ce qu’il faut faire. Heureusement, je tombe ensuite sur 2 ou 3 questions que je réussis à traiter rapidement. Ça me redonne confiance et ça me remet dans le bon rythme.

Au final, j’arrive à la 16ème question au bout d’1h10, avec encore 5 questions flagées. Je reviens dessus tranquillement, et là, je remarque un truc ultra utile que je n’avais pas vu tout de suite :

Pour chaque question, il y a un lien direct vers la documentation officielle correspondant au sujet de la question.

Et ça, c’est clairement un tips en or 💡

Une fois que j’ai capté ça, tout devient beaucoup plus facile, ça donne un grooooos indice sur ce qu’il faut faire. Typiquement, je vois un lien vers la page Deployment et SecurityContext, il y a de grandes chances qu’il faille mettre en place un SecurityContext sur un Deployment.

J’ai réussi à terminer les 16 questions tout juste dans les temps. Je pense qu’il restait à peine 5 secondes quand j’ai validé la dernière. Autant dire que le timing est très serré !

Franchement, aucune grosse surprise. Si on est bien préparé (et qu’on a bien bossé les labs + les mock exams), tout est faisable. Le challenge, c’est surtout de gérer son temps et de ne pas paniquer quand on bloque sur une question.

Une fois l’examen terminé, il ne restait plus qu’à attendre les résultats (un peu plus de 24h)… Et honnêtement, je n’étais même pas stressé 😌.

Je pense que c’est parce que j’avais vraiment le sentiment d’avoir donné le meilleur de moi-même, aussi bien pendant les semaines de révision que pendant les 2h d’épreuve. J’ai appliqué tout ce que je savais, comme je l’avais prévu.

Du coup, je me suis dit « si jamais je l’ai loupée, tant pis ». Ce n’est pas grave, parce qu’au final, j’ai découvert et pratiqué plein de sujets que je ne maîtrisais pas (ou très peu) comme Falco, les Admission Controllers, les ImagePolicyWebhook ou encore les Network Policies.

Alors, alors, tu l’as eu ?

Ouiiiiiiiiiiiiii ! 🥳

Et avec un très beau score dont je suis très fier :

Mes tips

Voici les quelques conseils que je peux vous donner pour mettre toutes les chances de votre côté le jour J

Déjà, tous mes conseils de la CKA restent valables. 

Prenez connaissance des ressources autorisées le jour de l’examen et familiarisez-vous avec leur structure. Pas de panique : les liens vers la doc utile sont donnés avec chaque question, mais c’est beaucoup plus efficace quand on sait déjà où chercher.

Révisez bien Falco. Apprenez à mettre en place des règles et à vous familiariser avec la documentation. Ça peut faire perdre énormément de temps si on découvre tout sur le moment. Prenez l’habitude d’utiliser CTRL+F dans cette page pour chercher rapidement les champs supportés.Ça permet de constituer rapidement vos outputs.

Utilisez kubescan avec un | jq .,ça permet de rendre les résultats lisibles et de voir rapidement ce qu’il faut corriger.

Une petite commande super utile quand on doit modifier une ressource existante :

kubectl get <ressource> <nom> -o yaml > monfichier.yaml
# ... édition de monfichier.yaml ...
kubectl replace --force -f monfichier.yaml

Attention quand vous touchez à l’API Server. Il y a plusieurs questions où il faut “jouer” avec /etc/kubernetes/kube-apiserver.yaml. Faites toujours un backup avant de modifier quoi que ce soit, sinon votre cluster peut devenir inutilisable :

cp /etc/kubernetes/kube-apiserver.yaml /etc/kubernetes/kube-apiserver.yaml.bak

J’en ai déjà parlé dans l’article mais, https://killercoda.com/killer-shell-cks est une excellente ressource gratuite pour pratiquer dans un environnement très proche de celui de l’examen.

Gérez votre temps. Si une question ne vous inspire pas dans les 30 premières secondes, flaggez-la et passez à la suivante. Le timing est très serré, donc attaquez d’abord les questions que vous savez faire.

Petit détail si vous êtes sur Ubuntu 24.04 : Wayland est activé par défaut, mais il n’est pas compatible avec le PSI Browser utilisé pour l’examen. Il faut donc le désactiver avant le jour J :

# sudo vim /etc/gdm3/custom.conf

[daemon]
# Uncomment the line below to force the login screen to use Xorg
WaylandEnable=false

Puis fermez et rouvrez votre session pour que ce soit pris en compte.

Conclusion

Voilàààààà, c’était ma petite aventure vers la CKS. J’espère vous avoir donné des infos utiles haha.

Bonne chance à tout ceux qui vont passer la CKS ! Vous allez l’avoir j’en suis sûr ! 💪

Je ne peux terminer cet article sans remercier WeScale pour le soutient et l’accompagnement ! 🫶

Published inNon classé