Bank 6 – Textes à trous (Partie 1 : Fondations)¶
Instructions
Complétez les espaces numérotés.
Cliquez sur « Correction » pour vérifier.
Total : 10 exercices (2 faciles · 4 moyens · 4 difficiles)
Niveau Facile¶
Exercice 1 : Introduction à k3s et l'architecture de base¶
k3s est une distribution Kubernetes légère et certifiée par la (1) ____________. Elle a été conçue pour réduire l'empreinte de ressources, remplaçant notamment etcd par défaut par une base de données (2) ____________. Au sein du cluster, l'unité de déploiement la plus élémentaire est le (3) ____________, qui regroupe un ou plusieurs conteneurs partageant le même espace réseau. Pour interagir avec ce cluster depuis un terminal, on utilise l'outil en ligne de commande (4) ____________.
Correction
- CNCF (Cloud Native Computing Foundation)
- SQLite (ou kine)
- Pod
- kubectl
Exercice 2 : Les services et l'exposition réseau de base¶
Pour permettre aux clients d'accéder à un ensemble de Pods via une adresse IP stable, Kubernetes utilise un objet de type (1) ____________. Par défaut, ce dernier attribue une IP interne au cluster appelée (2) ____________. Si l'on souhaite exposer le service vers l'extérieur de la machine physique en ouvrant un port statique sur chaque nœud, on opte pour le type (3) ____________. Enfin, le routage du trafic HTTP/HTTPS entrant basé sur des noms de domaine est géré par un objet (4) ____________.
Correction
- Service
- ClusterIP
- NodePort
- Ingress (ou Ingress Controller)
Niveau Moyen¶
Exercice 3 : Gestion des charges de travail (Workloads)¶
Pour administrer le cycle de vie des applications sans intervention manuelle complexe sur les réplicas, on s'appuie sur le contrôleur (1) ____________, qui gère en arrière-plan des (2) ____________ pour assurer la mise à jour progressive sans coupure grâce à la stratégie de type (3) ____________. D'autre part, si l'on souhaite exécuter systématiquement un pod unique sur l'ensemble des nœuds du cluster (pour des agents de monitoring par exemple), on utilise un (4) ____________.
Correction
- Deployment
- ReplicaSets
- RollingUpdate
- DaemonSet
Exercice 4 : Sondes de santé (Probes) et diagnostic¶
Pour surveiller la santé des conteneurs, Kubernetes propose plusieurs types de sondes. La (1) ____________ vérifie si le conteneur fonctionne correctement et déclenche un redémarrage en cas d'échec. La (2) ____________ détermine si le pod est prêt à acheminer du trafic, le retirant des endpoints du service en cas de panne sans le redémarrer. Pour consulter en temps réel la sortie standard (
stdout) d'un conteneur en vue de diagnostiquer un bogue, on exécute la commandekubectl (3) ____________, tandis quekubectl (4) ____________permet d'obtenir les événements détaillés d'une ressource.
Correction
- livenessProbe
- readinessProbe
- logs
- describe
Exercice 5 : Découverte de services et résolution DNS¶
La résolution des noms de services au sein du cluster est assurée par le serveur DNS interne nommé (1) ____________. Lorsqu'un service ne nécessite pas d'adresse IP virtuelle globale car les clients ont besoin de communiquer directement avec les IP individuelles des pods (cas typique des bases de données avec StatefulSets), on configure un service de type (2) ____________, caractérisé par la valeur
ClusterIP: (3) ____________. Le composant de nœud chargé de maintenir les règles de routage de couche 4 (iptables/IPVS) est le (4) ____________.
Correction
- CoreDNS
- Headless
- None
- kube-proxy
Exercice 6 : Commandes et actions de gestion¶
Pour modifier dynamiquement la capacité d'un déploiement sans réécrire le fichier manifeste YAML, on utilise la commande
kubectl (1) ____________ deployment <nom> --replicas=N. En cas de mise à jour défectueuse, il est possible d'annuler le déploiement et de revenir en arrière en exécutantkubectl rollout (2) ____________. Le modèle de spécification des pods encapsulé dans un objet contrôleur est défini sous la cléspec.(3) ____________. Enfin, la stratégie alternative qui consiste à supprimer tous les anciens pods avant d'en créer de nouveaux s'appelle (4) ____________.
Correction
- scale
- undo
- template
- Recreate
Niveau Difficile¶
Exercice 7 : Paramètres de mise à jour et architecture k3s¶
Dans la configuration d'une stratégie de mise à jour (
RollingUpdate), le paramètre (1) ____________ contrôle le nombre maximal de pods autorisés au-dessus du nombre souhaité, tandis que (2) ____________ définit le nombre maximal de pods pouvant faire défaut simultanément. Du côté de l'architecture k3s, le stockage relationnel alternatif est piloté par la couche de traduction (3) ____________, permettant d'interfacer l'API avec SQLite ou MySQL. L'ensemble des composants du plan de contrôle et des agents est regroupé dans un unique binaire écrit en langage (4) ____________.
Correction
- maxSurge
- maxUnavailable
- kine
- Go
Exercice 8 : Mécanismes de routage et sélecteurs¶
L'association entre un Service et les Pods qu'il cible repose sur l'utilisation d'un (1) ____________ qui met en correspondance les étiquettes définies sur les pods. Au niveau du réseau, les performances de routage peuvent être optimisées en configurant le kube-proxy en mode (2) ____________ à l'aide de tables de hachage du noyau. Pour les grands clusters, les listes d'adresses IP réelles gérées par les services sont optimisées et segmentées via l'objet (3) ____________. Enfin, le fichier de configuration par défaut utilisé par le client
kubectlpour se connecter au cluster se situe généralement dans le répertoire utilisateur sous~/.kube/(4) ____________.
Correction
- label selector (ou selector)
- IPVS
- EndpointSlice
- config
Exercice 9 : Cycle de vie avancé et sondes de démarrage¶
Pour les applications héritées ou très lentes à s'initialiser, on utilise la sonde de démarrage appelée (1) ____________, qui inhibe les autres sondes tant qu'elle n'a pas retourné un succès. Le délai minimal pendant lequel un nouveau pod doit tourner sainement sans planter pour être validé comme prêt est configuré via le paramètre
minReady(2) ____________. Si un déploiement dépasse un temps limite sans progresser, le système déclenche un mécanisme de blocage piloté parprogressDeadline(3) ____________. L'historique des modifications des déploiements est conservé grâce aux objets (4) ____________ successifs gérés en arrière-plan.
Correction
- startupProbe
- Seconds
- Seconds
- ReplicaSets
Exercice 10 : Éléments bas niveau et réseau de recouvrement¶
Le plugin CNI intégré par défaut dans k3s pour assurer la connectivité et le réseau de recouvrement entre les différents nœuds du cluster s'appelle (1) ____________. Les conteneurs situés au sein d'un même Pod partagent le même espace de noms réseau, ce qui leur permet de communiquer directement via l'interface (2) ____________. Le démon principal s'exécutant sur chaque nœud worker pour recevoir les instructions de l'API Server est le (3) ____________. Enfin, le stockage persistant dynamique des données s'appuie sur des objets de type PersistentVolume et (4) ____________.
Correction
- Flannel
- localhost
- kubelet
- PersistentVolumeClaim (PVC)