Comment obtenir la CKA ?

Comment obtenir la CKA ?

Qu'est-ce que cette certification ?

La Certified Kubernetes Administrator (CKA) est une certification Kubernetes qui se concentre essentiellement sur la partie administration et configuration d'un cluster ainsi que l'ensemble des briques qui permettent de rendre accessible des services de l'extérieur, de gérer le stockage persistent et d'autres domaines que nous verrons plus bas.

Elle se compose de 15 à 20 questions plus ou moins longues et avec un poids différent en pourcentage à réaliser en moins de deux heures.

Pour ma part, j'ai eu 17 questions que j'ai trouvés de difficulté facile ou moyenne (si je compare au simulateur killer.sh que je vous encourage à faire et refaire), et il me restait environ 40 minutes avant que l'examen se termine.

Le but de cet article est de présenter cette certification via les domaines traités et de vous partager l'ensemble astuces et remarques qui m'ont permis de l'avoir.

Domaines évalués

Les domaines de la CKA sont regroupés en différentes catégories avec un poids associé :

  • Cluster Architecture, Installation & Configuration (25%) : Association d'un nouveau noeud dans un cluster existant, relation entre master et worker, backup et restauration d'etcd ;
  • Workloads & Scheduling (15%) : Mise en place de déploiements, pods sur un noeud particulier en fonction de labels par exemple ;
  • Services & Networking (20%) : Accéder à une application en dehors du cluster via NodePort ou en configurant un Ingress, cela comprend aussi les NetworkPolicy pour autoriser / interdire l'accès à un pod ou service ;
  • Storage (10%) : Gestion du stockage persistent au sein d'un pod ;
  • Troubleshooting (30%) : Résolution de problèmes de configuration (kubelet, certificats, etc.) ou d'accès à un service.

Comme vous pouvez le voir, la CKA se concentre sur une grosse partie administration d'un cluster et la résolution des soucis de configuration. Il faut tout de même garder à l'esprit que la création d'objets (pod, déploiement, service, etc.) est requise dans cette certification.

La CKA avant la CKAD ?

Beaucoup de personnes se pose cette question avant de passer la CKA ou la CKAD, moi-même, je me suis posé cette question et j'ai préféré commencer par la CKAD.

Pourquoi ? Tout simplement car la CKAD se concentre essentiellement sur la création d'objet au sein d'un cluster et est plus facile à appréhender aux premiers abords que la CKA, qui elle regroupe l'ensemble des domaines de la CKAD avec des domaines plus centrés sur de l'administration de cluster, gestion des ressources par noeuds, etc.

Néanmoins, vous pouvez très bien commencer par la CKA pour enchaîner ensuite par la CKAD car vous aurez déjà l'ensemble des connaissances nécessaires avec les domaines traités par la CKA.

A vous de voir comment vous voulez aborder les choses.

Passons maintenant aux ressources utilisées pour réussir cette certification.

Les ressources utilisées

Pour apprendre et balayer l'ensemble des domaines de la CKA, je vous conseille la formation Udemy qui est fournie avec des "labs" qui permet de pratiquer les différents chapitres.

Après avoir terminé cette formation et en ayant réservé votre certification, vous aurez droit à deux accès au simulateur killer.sh qui est toujours décrit comme plus difficile que l'examen final. Si vous obtenez plus de 66%, vous pouvez être confiant pour votre certification.

Une fois votre session de killer.sh terminée, n'hésitez pas à faire et refaire via le simulateur les exercices donnés pour entrainer vos points faibles.

Les commandes à garder en tête

Comme toujours, un bloc-note est fourni dans la fenêtre où se déroule l'examen. Il faut ne pas hésiter à l'utiliser pour stocker l'ensemble des commandes qui sont récurrentes à chaque question (changement de contexte, de namespace, etc.).

Ce sont majoritairement les mêmes que pour la CKAD avec quelques-unes en plus, je vous invite à regarder mon article sur la CKAD pour les obtenir.

Mais comme la CKA se concentre sur la partie administration, il faut avoir en tête les commandes qui permettent de mettre à jour ou ajouter un noeud :

Le système d'exploitation utilisé pour la certification est un Ubuntu, la version peut varier d'un examen à l'autre, mais vous aurez besoin de la commande apt-get si l'une des questions à pour but de rattacher un noeud à un cluster existant ou de mettre à jour un noeud à une version demandée.

Voici l'ensemble des commandes que j'utilise dans le cas d'une mise à jour (avec ici node01 comme nom de noeud et x.y.z la version du noeud à jour) :

# Drain du noeud node01
kubectl drain node01 --ignore-daemonsets

# On se connecte sur la machine du noeud
ssh node01

# Mise à jour des composants kubeadm et kubelet
apt-get install -y kubeadm=x.y.z-00
apt-get install -y kubelet=x.y.z-00

# Mise à jour du noeud
kubeadm upgrade node

# Redémarrage du service kubelet
systemctl restart kubelet

# On quitte le noeud
exit

# On rend le noeud à nouveau fonctionnel
kubectl uncordon node01

Si vous souhaitez plus de détails sur la mise à niveau d'un noeud ou la mise à jour d'un cluster, je vous invite à consulter la documentation officielle ici.

Dans le cas d'une erreur au niveau du service kubelet, vous pouvez regarder les logs avec plusieurs commandes :

systemctl status kubelet.service
# Ou
journalctl -xe
# Ou 
journalctl -u kubelet.service

Généralement, c'est une information au niveau d'un fichier de configuration qui manque ou tout simplement, celui-ci est absent.

Et pour finir, est-ce une certification facile ou pas ?

Je trouve que la difficulté de la CKA ne réside pas dans le temps nécessaire pour compléter l'ensemble des questions comme la CKAD, mais plutôt dans le très large périmètre de cette certification.

En effet beaucoup de domaines sont traités et si vous débutez dans l'univers Kubernetes, il est possible que cette certification soit dure à appréhender et il faudra préférer la CKAD dans un premier temps.

Comme vous avez pu le constater le public visé n'est pas la même non plus que la CKAD, ici on parle de notions d'administration, il faut donc aussi des connaissances sur l'installation, la mise à jour des machines, le fonctionnement du réseau et des certificats. Comme dit plus haut, des connaissances et une expérience dans ce domaine sont recommandés.

Bonne chance à celles et ceux qui souhaitent passer cette certification !