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