Aller au contenu

Bank 3 – Appariement (Partie 1 : Fondations)

Instructions

Reliez chaque élément de la Colonne A à sa correspondance dans la Colonne B.
Cliquez sur « Correction » pour vérifier vos réponses.

Total : 10 exercices (2 faciles · 4 moyens · 4 difficiles)


Niveau Facile

Exercice 1 : Les composants architecturaux de base

Consigne : Reliez chaque composant de Kubernetes à sa description principale.

Colonne A (Composant) Colonne B (Description)
1. Kubelet A. Base de données clé-valeur utilisée nativement pour stocker l'état du cluster (ou remplacée par SQLite dans k3s).
2. Kube-Proxy B. Agent s'exécutant sur chaque nœud worker pour gérer les conteneurs et s'assurer qu'ils fonctionnent.
3. API Server C. Point d'entrée principal de l'architecture qui expose l'interface de gestion via des requêtes HTTP/REST.
4. Etcd D. Composant réseau gérant les règles de routage (iptables/IPVS) pour les Services sur chaque nœud.
Correction

1-B, 2-D, 3-C, 4-A


Exercice 2 : Les objets fondamentaux de déploiement

Consigne : Associez chaque ressource Kubernetes à sa définition de base.

Colonne A (Objet) Colonne B (Définition)
1. Pod A. Objet de plus haut niveau qui gère les ReplicaSets et permet des mises à jour fluides (rolling updates).
2. Deployment B. Objet réseau fournissant une adresse IP stable et un équilibrage de charge vers un groupe de pods.
3. Service C. Plus petite unité de déploiement de Kubernetes regroupant un ou plusieurs conteneurs.
4. Namespace D. Permet de diviser virtuellement un cluster physique en plusieurs environnements isolés logiquement.
Correction

1-C, 2-A, 3-B, 4-D


Niveau Moyen

Exercice 3 : Les types de Services Kubernetes

Consigne : Reliez chaque type de service à son mode de fonctionnement réseau.

Colonne A (Type de Service) Colonne B (Mode / Fonctionnement)
1. ClusterIP A. Expose le service en dehors du cluster en s'appuyant sur un répartiteur de charge externe du fournisseur cloud.
2. NodePort B. Type par défaut, accessible uniquement depuis l'intérieur du cluster via une IP interne virtuelle.
3. LoadBalancer C. N'attribue pas d'IP virtuelle et renvoie directement les adresses IP des pods via le DNS (utile pour StatefulSets).
4. ExternalName D. Ouvre un port statique sur chaque nœud du cluster pour rendre le service accessible via l'IP du nœud.
5. Headless (ClusterIP: None) E. Mappe le service vers un nom DNS externe en renvoyant un enregistrement CNAME.
Correction

1-B, 2-D, 3-A, 4-E, 5-C


Exercice 4 : Sondes de santé (Probes)

Consigne : Associez chaque sonde Kubernetes à son rôle exact.

Colonne A (Sonde) Colonne B (Rôle)
1. LivenessProbe A. Vérifie si l'application est totalement initialisée avant d'autoriser l'envoi de trafic vers le pod.
2. ReadinessProbe B. Détermine si le conteneur fonctionne correctement ; en cas d'échec, le conteneur est redémarré.
3. StartupProbe C. Détermine si le trafic réseau peut être acheminé vers le pod (retire le pod des endpoints en cas d'échec).
Correction

1-B, 2-C, 3-A


Exercice 5 : Objets de charge de travail (Workloads)

Consigne : Reliez l'objet contrôleur à son cas d'usage typique.

Colonne A (Contrôleur) Colonne B (Cas d'usage)
1. DaemonSet A. Exécute une tâche ponctuelle jusqu'à sa réussite (ex. script de migration de base de données).
2. StatefulSet B. Garantit qu'une copie d'un pod s'exécute sur chaque nœud du cluster (ex. agents de logs ou monitoring).
3. Job C. Gère des applications avec état nécessitant des identifiants uniques persistants et un stockage attaché.
Correction

1-B, 2-C, 3-A


Exercice 6 : Commandes et actions kubectl

Consigne : Associez la commande kubectl à son action correspondante.

Colonne A (Commande) Colonne B (Action)
1. kubectl scale A. Affiche les détails complets et les événements récents d'une ressource spécifique.
2. kubectl logs B. Modifie dynamiquement le nombre de réplicas d'un déploiement.
3. kubectl describe C. Récupère la sortie standard (stdout) d'un conteneur en cours d'exécution.
4. kubectl rollout undo D. Annule la dernière modification d'un déploiement pour revenir à la version précédente.
Correction

1-B, 2-C, 3-A, 4-D


Niveau Difficile

Exercice 7 : Paramètres de mise à jour progressive (Rolling Update)

Consigne : Associez le paramètre de stratégie de déploiement à sa définition technique.

Colonne A (Paramètre) Colonne B (Définition technique)
1. MaxSurge A. Nombre maximal de pods qui peuvent être indisponibles simultanément pendant le processus de mise à jour.
2. MaxUnavailable B. Délai maximum d'attente avant qu'un déploiement ne soit considéré comme en échec par le système.
3. MinReadySeconds C. Nombre maximal de pods créés au-dessus du nombre souhaité de réplicas pendant la transition.
4. ProgressDeadlineSeconds D. Temps minimum pendant lequel un nouveau pod doit être sain sans planter pour être validé comme prêt.
Correction

1-C, 2-A, 3-D, 4-B


Exercice 8 : Écosystème k3s et composants avancés

Consigne : Reliez l'élément spécifique à k3s à sa correspondance architecturale.

Colonne A (Élément k3s) Colonne B (Correspondance architecturale)
1. kine A. Contrôleur d'Ingress léger préinstallé par défaut dans la distribution k3s.
2. Traefik B. Couche de traduction permettant d'utiliser une base relationnelle (SQLite/MySQL) à la place d'etcd.
3. Flannel C. Paquetage monobloc regroupant tous les démons du plan de contrôle et des agents.
4. Binaire unique k3s D. Plugin CNI (Container Network Interface) intégré par défaut pour la gestion du réseau inter-nœuds.
Correction

1-B, 2-A, 3-D, 4-C


Exercice 9 : Mécanismes internes et résolution réseau

Consigne : Associez le mécanisme technique à son rôle au sein du cluster.

Colonne A (Mécanisme) Colonne B (Rôle technique)
1. CoreDNS A. Permet de cibler dynamiquement les pods via leurs étiquettes pour leur appliquer des politiques ou services.
2. Label Selector B. Assure la résolution des noms DNS internes en adresses IP de cluster pour la découverte de services.
3. EndpointSlice C. Stocke les adresses IP et ports réels des pods ciblés par un service de manière optimisée.
4. Kube-proxy (Mode IPVS) D. Gère le routage de trafic à haute performance via des tables de hachage du noyau Linux.
Correction

1-B, 2-A, 3-C, 4-D


Exercice 10 : Gestion des révisions et cycle de vie

Consigne : Associez la commande ou le concept de gestion de version au résultat associé.

Colonne A (Concept / Commande) Colonne B (Résultat associé)
1. kubectl rollout status A. Affiche l'historique complet des révisions d'un déploiement.
2. kubectl rollout history B. Permet de suivre en temps réel la progression de la mise à jour d'un déploiement.
3. spec.template C. Modèle (template) décrivant les spécifications des pods gérés par un contrôleur.
4. Stratégie Recreate D. Supprime d'abord tous les anciens pods avant de lancer les nouveaux (provoque une coupure).
Correction

1-B, 2-A, 3-C, 4-D