Quiz Module 3 - Pods et Déploiements
Instructions
Ce quiz contient 30 questions à choix multiples pour valider votre compréhension du Module 3.
Conseil: Répondez à chaque question avant de révéler la réponse. Les réponses sont cachées juste après chaque question.
Question 1
Qu'est-ce qu'un Pod dans Kubernetes?
Voir l'explication
Réponse correcte: La plus petite unité déployable, contenant un ou plusieurs conteneurs qui partagent des ressources
Explication: Un Pod est un groupe d'un ou plusieurs conteneurs qui partagent la même adresse IP, le même namespace réseau, et les mêmes volumes. C'est l'unité atomique de déploiement dans Kubernetes.
Question 2
Quel est le rôle principal d'un ReplicaSet?
Voir l'explication
Réponse correcte: Maintenir un nombre stable de réplicas de Pods identiques
Explication: Un ReplicaSet garantit qu'un nombre spécifié de Pods identiques est toujours disponible. Si un Pod plante, le ReplicaSet crée automatiquement un nouveau Pod.
Question 3
Quel est l'avantage principal d'un Deployment par rapport à un ReplicaSet?
Voir l'explication
Réponse correcte: Il offre la gestion de version, les rolling updates et les rollbacks
Explication: Les Deployments gèrent les ReplicaSets et offrent des fonctionnalités avancées comme les rolling updates (mises à jour sans interruption), les rollbacks, et la gestion de version.
Question 4
Quel est le cycle de vie d'un Pod dans Kubernetes?
Voir l'explication
Réponse correcte: Pending → Running → Succeeded/Failed/Unknown
Explication: Un Pod passe par Pending (en attente de planification), puis Running (exécution), et peut se terminer en Succeeded (succès), Failed (échec), ou Unknown (état inconnu).
Question 5
Qu'est-ce qu'un Label dans Kubernetes?
Voir l'explication
Réponse correcte: Une paire clé-valeur attachée à des objets pour organiser et sélectionner des ressources
Explication: Les Labels sont des métadonnées sous forme de paires clé-valeur qui permettent d'organiser, grouper et sélectionner des ressources Kubernetes de manière flexible.
Question 6
Quel est le rôle d'un Selector dans Kubernetes?
Voir l'explication
Réponse correcte: Identifier un ensemble de ressources en fonction de leurs Labels
Explication: Les Selectors permettent de sélectionner des ressources (Pods, Services, etc.) en fonction de leurs Labels, permettant aux ReplicaSets, Deployments et Services de cibler les bons Pods.
Question 7
Quelle est la différence principale entre un ReplicaSet et un ReplicationController?
Voir l'explication
Réponse correcte: ReplicaSet supporte les sélecteurs basés sur les expressions (matchExpressions), ReplicationController ne le fait pas
Explication: ReplicaSet est la version moderne et améliorée de ReplicationController, avec un support plus flexible des sélecteurs via matchExpressions.
Question 8
Quelle stratégie de déploiement est utilisée par défaut dans un Deployment?
Voir l'explication
Réponse correcte: RollingUpdate
Explication: RollingUpdate est la stratégie par défaut qui met à jour les Pods progressivement, en remplaçant les anciens par les nouveaux un par un ou par petits groupes, garantissant la disponibilité du service.
Question 9
Qu'est-ce qu'un Liveness Probe?
Voir l'explication
Réponse correcte: Une sonde qui vérifie si le conteneur est toujours en vie et fonctionne correctement
Explication: Le Liveness Probe détecte si un conteneur est dans un état bloqué ou mort. Si la sonde échoue, Kubernetes redémarre le conteneur.
Question 10
Qu'est-ce qu'un Readiness Probe?
Voir l'explication
Réponse correcte: Une sonde qui vérifie si le Pod est prêt à recevoir du trafic
Explication: Le Readiness Probe détermine si un Pod est prêt à recevoir des requêtes. Si la sonde échoue, le Pod est retiré des endpoints du Service jusqu'à ce qu'il redevienne prêt.
Question 11
Qu'est-ce qu'un Startup Probe?
Voir l'explication
Réponse correcte: Une sonde qui vérifie si l'application dans le conteneur a démarré
Explication: Le Startup Probe permet aux conteneurs avec des temps de démarrage longs de signaler qu'ils ont démarré, avant que les autres probes ne commencent.
Question 12
Quel type de probe peut être utilisé pour les health checks?
Voir l'explication
Réponse correcte: HTTP, TCP, ou Exec
Explication: Kubernetes supporte trois types de probes: HTTP (vérifie une réponse HTTP), TCP (vérifie si un port est ouvert), et Exec (exécute une commande dans le conteneur).
Question 13
Quelle commande kubectl permet de voir l'historique des déploiements?
Voir l'explication
Réponse correcte: kubectl rollout history deployment/[name]
Explication: Cette commande affiche l'historique des révisions d'un Deployment, permettant de voir les différentes versions déployées et de faire des rollbacks si nécessaire.
Question 14
Comment faire un rollback d'un Deployment vers une version précédente?
Voir l'explication
Réponse correcte: kubectl rollout undo deployment/[name]
Explication: Cette commande annule le dernier déploiement et restaure la version précédente, permettant un rollback rapide en cas de problème.
Question 15
Qu'est-ce qu'un Init Container?
Voir l'explication
Réponse correcte: Un conteneur qui s'exécute avant les conteneurs principaux et doit se terminer avec succès
Explication: Les Init Containers s'exécutent séquentiellement avant les conteneurs principaux et sont utiles pour la configuration, l'attente de dépendances, ou la préparation de l'environnement.
Question 16
Quelle est la différence entre maxSurge et maxUnavailable dans une stratégie RollingUpdate?
Voir l'explication
Réponse correcte: maxSurge définit le nombre maximum de Pods supplémentaires, maxUnavailable définit le nombre maximum de Pods indisponibles
Explication: maxSurge permet d'avoir plus de Pods que le nombre désiré pendant la mise à jour, tandis que maxUnavailable limite le nombre de Pods qui peuvent être indisponibles simultanément.
Question 17
Qu'est-ce qu'un Pod Disruption Budget (PDB)?
Voir l'explication
Réponse correcte: Une politique qui limite le nombre de Pods d'une application qui peuvent être interrompus simultanément
Explication: Un PDB garantit qu'un certain nombre de Pods d'une application restent disponibles pendant les mises à jour ou les maintenances, assurant la haute disponibilité.
Question 18
Quel est l'avantage d'utiliser un Deployment plutôt qu'un Pod directement?
Voir l'explication
Réponse correcte: Les Deployments offrent la gestion de version, les rolling updates, les rollbacks et la réplication automatique
Explication: Les Deployments gèrent automatiquement les ReplicaSets, offrent des fonctionnalités avancées de déploiement et de rollback, ce qui n'est pas possible avec des Pods directs.
Question 19
Quelle est la commande pour mettre à jour l'image d'un Deployment?
Voir l'explication
Réponse correcte: kubectl set image deployment/[name] [container]=[new-image]
Explication: Cette commande met à jour l'image d'un conteneur dans un Deployment, déclenchant automatiquement un rolling update.
Question 20
Qu'est-ce qu'un ReplicaSet fait si un Pod est supprimé manuellement?
Voir l'explication
Réponse correcte: Il crée automatiquement un nouveau Pod pour maintenir le nombre de réplicas désiré
Explication: Un ReplicaSet surveille constamment le nombre de Pods et crée automatiquement de nouveaux Pods si le nombre actuel est inférieur au nombre désiré.
Question 21
Quelle est la différence entre un Pod et un conteneur?
Voir l'explication
Réponse correcte: Un Pod peut contenir un ou plusieurs conteneurs qui partagent des ressources réseau et de stockage
Explication: Un Pod est l'unité atomique de déploiement dans Kubernetes et peut contenir plusieurs conteneurs qui partagent la même IP, le même namespace réseau et les mêmes volumes.
Question 22
Qu'est-ce qu'un Static Pod?
Voir l'explication
Réponse correcte: Un Pod géré directement par kubelet sur un node spécifique, sans passer par l'API Server
Explication: Les Static Pods sont définis dans un fichier sur le node et sont gérés directement par kubelet, souvent utilisés pour les composants du Control Plane.
Question 23
Quelle est la stratégie de déploiement Recreate?
Voir l'explication
Réponse correcte: Tous les anciens Pods sont terminés avant que les nouveaux ne soient créés
Explication: La stratégie Recreate arrête tous les Pods existants avant de créer les nouveaux, causant une interruption de service mais garantissant qu'une seule version s'exécute à la fois.
Question 24
Qu'est-ce qu'un DaemonSet?
Voir l'explication
Réponse correcte: Un workload qui garantit qu'un Pod s'exécute sur tous (ou certains) nodes du cluster
Explication: Un DaemonSet est utilisé pour des agents système comme les agents de logging ou de monitoring qui doivent s'exécuter sur chaque node.
Question 25
Quelle est la fréquence par défaut d'un Liveness Probe?
Voir l'explication
Réponse correcte: Toutes les 10 secondes
Explication: Par défaut, les probes s'exécutent toutes les 10 secondes, mais cette valeur peut être configurée via le paramètre periodSeconds.
Question 26
Qu'est-ce qu'un Pod Preset (déprécié)?
Voir l'explication
Réponse correcte: Une ressource qui injecte automatiquement des informations (env vars, volumes) dans les Pods correspondant à certains sélecteurs
Explication: Pod Preset était une fonctionnalité (maintenant dépréciée) qui permettait d'injecter automatiquement des ConfigMaps, Secrets et volumes dans les Pods. Les alternatives modernes incluent les Admission Controllers.
Question 27
Quelle commande permet de voir le statut d'un rollout?
Voir l'explication
Réponse correcte: kubectl rollout status deployment/[name]
Explication: Cette commande surveille le statut d'un rollout en cours et attend sa completion, utile pour savoir quand une mise à jour est terminée.
Question 28
Qu'est-ce qu'un ReplicaSet fait si le nombre de Pods dépasse le nombre désiré?
Voir l'explication
Réponse correcte: Il supprime les Pods en excès pour revenir au nombre désiré
Explication: Un ReplicaSet maintient toujours le nombre exact de réplicas désiré, supprimant les Pods en excès si nécessaire.
Question 29
Quelle est la différence entre un Deployment et un ReplicaSet?
Voir l'explication
Réponse correcte: Un Deployment gère les ReplicaSets et offre des fonctionnalités de déploiement et de rollback
Explication: Un Deployment est une abstraction de plus haut niveau qui gère les ReplicaSets et offre des fonctionnalités avancées comme les rolling updates et les rollbacks.
Question 30
Qu'est-ce qu'un Pod peut partager avec d'autres conteneurs dans le même Pod?
Voir l'explication
Réponse correcte: L'adresse IP, le namespace réseau, et les volumes
Explication: Les conteneurs dans un même Pod partagent la même adresse IP, le même namespace réseau (peuvent communiquer via localhost), et les mêmes volumes montés.
Résultat du Quiz
Félicitations pour avoir complété le quiz du Module 3!
Score:
- 25-30 bonnes réponses: Excellent! Vous maîtrisez les Pods et Déploiements.
- 20-24 bonnes réponses: Très bien! Revoyez les concepts où vous avez eu des difficultés.
- 15-19 bonnes réponses: Bien! Revoyez les chapitres sur les Pods et Deployments.
- Moins de 15: Recommandé de revoir le module avant de continuer.
Prochaines Étapes
Maintenant que vous avez validé vos connaissances:
Module 4: Services et Networking
Labs pratiques: Mettez en pratique les Pods et Deployments
Quiz créé le: Décembre 2024