Le curriculum de la CKA en bref

Le curriculum de la CKA en bref

Le curriculum de la CKA se compose de 5 parties. Vous pouvez les consultées ici :

https://github.com/cncf/curriculum/blob/master/CKA_Curriculum_v1.26.pdf

Voici quelques explications pour vous éguiller lors de votre préparation.

Pour passer la certification Certified Kubernetes Administrator - CKA, il suffit de se rendre de la site Linux Foundation c'est ici

25% - Cluster Architecture, Installation & Configuration

  1. Manage rôle based access control (RBAC) : cela signifie gérer les règles d'accès basées sur les rôles. C'est un mécanisme de sécurité utilisé pour contrôler qui a accès à quoi dans un cluster Kubernetes. Il permet de définir les rôles et les autorisations pour les utilisateurs et les ressources dans le cluster.
  • Pour mettre en place un système de contrôle d'accès basé sur les rôles, vous pouvez utiliser la commande kubectl pour créer des rôles et des rôles liés. Par exemple, pour créer un rôle qui permet à un utilisateur de lire les pots dans un namespace spécifique, vous pouvez utiliser la commande suivante:
Copy codekubectl create role pod-reader --verb=get --resource=pods -n <namespace>
  • Ensuite, vous pouvez attribuer ce rôle à un utilisateur spécifique en utilisant la commande kubectl :
Copy codekubectl create rolebinding john-pod-reader --role=pod-reader --user=john -n <namespace>
  • Vous pouvez également utiliser des fichiers YAML pour décrire les rôles et les rôles liés.

Use Kubeadm to install a basic cluster : cela signifie utiliser Kubeadm pour installer un cluster de base. Kubeadm est un outil qui facilite l'installation d'un cluster Kubernetes en automatisant les étapes nécessaires.

  • Pour installer un cluster de base avec Kubeadm, vous pouvez suivre les étapes suivantes :
  1. Installez les outils nécessaires sur les machines qui seront utilisées comme noeuds de cluster, comme kubeadm, kubelet et kubectl.

  2. Utilisez la commande kubeadm pour initialiser le noeud maître en spécifiant les options nécessaires pour votre configuration, comme l'adresse IP du noeud maître et les options de sécurité.

  3. Utilisez la commande kubeadm pour rejoindre des noeuds supplémentaires au cluster en utilisant le token généré lors de l'initialisation.

  4. Utilisez les commandes kubectl pour vérifier le statut des noeuds et des pods dans le cluster.

  5. Manage a highly-available Kubernetes cluster : cela signifie gérer un cluster Kubernetes hautement disponible. Cela implique de prendre des mesures pour assurer la disponibilité des ressources et des services dans le cluster, même en cas de panne de noeuds ou de pods.

    • Pour gérer un cluster hautement disponible, vous pouvez utiliser des outils tels que l'équilibrage de charge et les replicasets.

    • Par exemple, pour mettre en place un équilibrage de charge pour un service, vous pouvez utiliser la commande kubectl expose pour exposer un service avec une option d'équilibrage de charge :

    Copy codekubectl expose deployment my-app --port=80 --type=LoadBalancer --name=my-app-lb
  • Pour utiliser les replicasets, vous pouvez utiliser la commande kubectl scale pour définir le nombre de réplicas d'un déploiement:
    Copy codekubectl scale deployment my-app --replicas=3
  • Cela permettra de garantir que votre application est toujours disponible même si un noeud ou un pod tombe en panne.
  1. Provision underlying infrastructure to deploy a Kubernetes cluster : cela signifie fournir l'infrastructure sous-jacente nécessaire pour déployer un cluster Kubernetes. Cela peut inclure la configuration des machines virtuelles, des réseaux, des stockages, etc.

  2. Perform a version upgrade on a Kubernetes cluster using Kubeadm : cela signifie effectuer une mise à niveau de version sur un cluster Kubernetes en utilisant Kubeadm. Cela implique de mettre à jour les noeuds du cluster pour utiliser une version plus récente de Kubernetes en utilisant l'outil Kubeadm.

  3. Utilisez la commande kubeadm pour afficher la version actuelle du cluster :

Copy codekubeadm version
  1. Utilisez la commande kubeadm pour effectuer une mise à niveau en spécifiant la version cible :
Copy codekubeadm upgrade apply <version>
  1. Utilisez la commande kubeadm pour vérifier que la mise à niveau a réussi :
Copy codekubeadm upgrade status

Utilisez les commandes kubectl pour vérifier le statut des noeuds et des pods dans le cluster.

  1. Implement etcd backup and restore : cela signifie mettre en place des sauvegardes et des restaurations pour etcd. Etcd est une base de données utilisée par Kubernetes pour stocker les configurations de cluster, il est important de pouvoir sauvegarder et restaurer les données d'etcd en cas de besoin.
  • Pour mettre en place des sauvegardes et des restaurations pour etcd, vous pouvez utiliser les outils intégrés etcdctl ou des outils tels que Velero, qui est un outil de sauvegarde et de restauration pour Kubernetes.

  • Par exemple, pour créer une sauvegarde de toutes les données d'etcd, vous p

  • Par exemple, pour créer une sauvegarde de toutes les données d'etcd, vous pouvez utiliser la commande suivante :

Copy codeetcdctl backup --data-dir <path-to-etcd-data-dir> --backup-dir <path-to-backup-dir>
  • Pour restaurer les données à partir d'une sauvegarde précédente, vous pouvez utiliser la commande suivante :
Copy codeetcdctl restore --data-dir <path-to-etcd-data-dir> --backup-dir <path-to-backup-dir>
  • Il est également possible de planifier les sauvegardes automatiquement en utilisant des outils tels que cron ou systemd timer.

  • Il est important de noter qu'il est important de tester régulièrement les sauvegardes pour vérifier qu'elles sont valides et qu'il est possible de les restaurer en cas de besoin.

  1. l