Qu'est-ce que Pod ?

Plus petite unité que Kubernetes place et exécute. Il regroupe un ou plusieurs conteneurs, qui partagent un espace de noms réseau, adresse IP comprise, ainsi que des volumes, et qui peuvent communiquer entre eux par localhost. Il contient habituellement un seul conteneur applicatif, auquel on ajoute au besoin des conteneurs auxiliaires. Les Pods sont jetables et reçoivent en général un nouveau nom et une nouvelle adresse IP quand ils sont recréés : leur nombre est donc maintenu par un Deployment ou un objet similaire, et un Service leur fournit un point d'accès stable.

Nom japonais: Pod

« Pod » apparaît dans 13 questions d'entraînement réparties sur 1 thèmes, dont Bases du cloud et des conteneurs.

Domaine: Bases du cloud et des conteneurs

S'entraîner : questions sur Pod

Dans Kubernetes, un Deployment avec replicas: 3 fait tourner trois Pods. Quelle description de ce qui se passe quand l'un de ces Pods est supprimé avec kubectl delete pod est correcte ?

  1. ALe réglage du Deployment est lui aussi réécrit en replicas: 2, et deux Pods continuent de tourner
  2. BUn contrôleur détecte que le nombre réel est passé sous le nombre indiqué de 3 et crée un nouveau Pod
  3. CLes deux autres Pods du Deployment sont aussi supprimés, et tout le Deployment s'arrête
Afficher la réponse et l'explication

Réponse : B. Un contrôleur détecte que le nombre réel est passé sous le nombre indiqué de 3 et crée un nouveau Pod

Dans Kubernetes, les utilisateurs déclarent un état souhaité comme « faire tourner trois Pods », et des contrôleurs observent sans cesse l'état réel et agissent pour le rapprocher de la déclaration quand les deux diffèrent (réconciliation). La suppression d'un Pod ramène le nombre réel à 2 : le contrôleur du ReplicaSet crée donc un nouveau Pod pour revenir à 3. Quand un Pod est perdu à cause de la panne d'un nœud, le même mécanisme le recrée sur un autre nœud. Pour réellement réduire le nombre de Pods, on modifie les replicas du Deployment au lieu de supprimer des Pods.

Dans un Deployment Kubernetes, l'image de conteneur du modèle de Pod est remplacée par une nouvelle version. Quelle description de ce qui se passe avec la stratégie de mise à jour par défaut (RollingUpdate) est correcte ?

  1. AUn nouveau ReplicaSet est créé, et des Pods de la nouvelle version sont ajoutés pendant que des Pods de l'ancienne version sont retirés. L'ancien ReplicaSet est conservé avec 0 Pod pour un retour arrière
  2. BL'image de conteneur des Pods en cours d'exécution est remplacée sur place par la nouvelle version sans recréer les Pods : ni les adresses IP ni les noms des Pods ne changent
  3. CTous les Pods de l'ancienne version sont supprimés d'un coup, puis les Pods de la nouvelle version sont créés ensemble : le service est donc interrompu temporairement pendant la mise à jour
Afficher la réponse et l'explication

Réponse : A. Un nouveau ReplicaSet est créé, et des Pods de la nouvelle version sont ajoutés pendant que des Pods de l'ancienne version sont retirés. L'ancien ReplicaSet est conservé avec 0 Pod pour un retour arrière

Quand le modèle de Pod change, un Deployment crée un ReplicaSet pour le nouveau modèle et, tout en vérifiant que les nouveaux Pods sont devenus prêts, réduit progressivement les Pods de l'ancien ReplicaSet. Un certain nombre de Pods continuent ainsi de traiter les requêtes pendant la mise à jour. L'ancien ReplicaSet est conservé avec 0 Pod, ce qui permet à kubectl rollout undo de revenir à la version précédente. La stratégie qui supprime d'abord tous les Pods puis les recrée est Recreate, utilisée seulement si on l'indique explicitement.

« Pod » dans les explications

Questions mentionnant « Pod » (13)

  1. Dans Kubernetes, un Deployment avec replicas: 3 fait tourner trois Pods. Quelle description de ce qui se passe quand l'un de ces Pods est supprimé avec kubectl delete pod est correcte ?
  2. Dans un Deployment Kubernetes, l'image de conteneur du modèle de Pod est remplacée par une nouvelle version. Quelle description de ce qui se passe avec la stratégie de mise à jour par défaut (RollingUpdate) est correcte ?
  3. Un Deployment avec replicas: 10 a pour réglages de mise à jour progressive (rolling update) maxSurge: 25% et maxUnavailable: 25%. Quelle association entre la limite supérieure du nombre total de Pods et la limite inférieure du nombre de Pods disponibles pendant une mise à jour est correcte ?
  4. Dans Kubernetes, un Pod reçoit une adresse IP différente chaque fois qu'il est recréé. Quelle ressource permet à d'autres applications de se connecter, par un nom et une adresse qui ne changent pas, à plusieurs Pods sélectionnés par des labels, en répartissant la charge entre eux ?
  5. Une application web ne peut pas traiter de requêtes pendant environ 60 secondes après son démarrage, le temps de charger son cache, et renvoie 503 sur /ready pendant ce temps. Quelle description de l'effet de l'ajout des réglages ci-dessus au conteneur du Pod est correcte ?
  6. Un HorizontalPodAutoscaler de Kubernetes a pour cible une utilisation CPU des Pods de 70 % et une plage de 1 à 10 Pods. Actuellement, l'utilisation CPU moyenne de 5 Pods est de 30 %. Si le nombre de Pods nécessaire est calculé par ⌈nombre actuel × utilisation actuelle ÷ utilisation cible⌉ (⌈ ⌉ désigne l'arrondi à l'entier supérieur), combien de Pods faut-il ?
  7. Dans un Deployment dont les conteneurs des Pods ont les réglages ci-dessus, quatre Pods tournent et chacun utilise 400m (0,4 cœur) de CPU. La cible d'utilisation CPU du HorizontalPodAutoscaler est de 60 %, et le nombre de Pods nécessaire est calculé par ⌈nombre actuel × utilisation actuelle ÷ utilisation cible⌉. Combien de Pods faut-il ?
  8. Un nœud dispose de ressources allouables de 4 cœurs de CPU et de 8 GiB de mémoire. Le conteneur de chaque Pod a pour requests 500m de CPU et 1,5 GiB de mémoire, et pour limits 1 cœur de CPU et 2 GiB de mémoire. Il n'y a ni autres Pods ni réservations pour le système. Quel est le nombre maximal de Pods que l'on peut placer sur ce nœud ?
  9. Dans Kubernetes, quelle est la plus petite unité déployée et gérée, qui regroupe un ou plusieurs conteneurs partageant la même adresse IP et les mêmes volumes ?
  10. Dans un cluster Kubernetes, les requêtes HTTPS qui arrivent pour un même nom d'hôte doivent être envoyées au Service api si le chemin commence par /api, et au Service web sinon. Quelle ressource convient pour définir cette règle d'aiguillage ?
  11. Le mot de passe d'une base de données est stocké dans un Secret Kubernetes. Quelle description d'un Secret est correcte ?
  12. Dans une application web sur Kubernetes, la vérification effectuée par la sonde liveness a été étendue pour tester aussi si l'application peut se connecter à la base de données dont elle dépend. Quel est le problème le plus probable avec ce réglage ?
  13. Dans Kubernetes, quelle description des requests et des limits de ressources définies pour un conteneur est correcte ?

Termes associés

Kubernetes Conteneur HTTP (Hypertext Transfer Protocol) Image de conteneur DNS (Domain Name System) Mise à l'échelle automatique (autoscaling) TLS (Transport Layer Security) Proxy inverse (reverse proxy) Variable d'environnement Interblocage (deadlock)

Retour au glossaire