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é