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