Aller au contenu principal

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