Notifications de mise à jour de l'application
Informatique

Kubernetes

L'état désiré, le cluster s'occupe du reste

58 flashcards
Informatique
Rappel espacé

Questions & réponses

1

Qu'est-ce que Kubernetes ?

Un orchestrateur de conteneurs : déploiement, mise à l'échelle et réparation automatiques

2

Qu'est-ce qu'un Pod ?

La plus petite unité déployable : un ou plusieurs conteneurs qui partagent réseau et stockage

3

Pourquoi ne crée-t-on presque jamais un Pod directement ?

Un Pod seul n'est pas recréé si son nœud meurt : on passe par un Deployment

4

Qu'est-ce qu'un Node (nœud) ?

Une machine (VM ou physique) du cluster qui exécute des Pods

5

Rôle du kube-apiserver ?

La porte d'entrée unique du cluster : tout passe par son API REST

6

Rôle d'etcd dans un cluster Kubernetes ?

La base clé-valeur distribuée qui stocke tout l'état du cluster

7

Rôle du kube-scheduler ?

Choisir sur quel nœud placer chaque nouveau Pod

8

Que signifie « Kubernetes est déclaratif » ?

On décrit l'état désiré, pas les actions ; le cluster converge vers cet état tout seul

9

Rôle du kube-controller-manager ?

Faire tourner les boucles de réconciliation qui ramènent l'état observé vers l'état désiré

10

Rôle du kubelet ?

L'agent sur chaque nœud qui fait tourner les Pods qu'on lui assigne et rapporte leur état

11

Qu'est-ce qu'un Deployment ?

L'objet qui gère une application sans état : nombre de réplicas, mises à jour progressives, retour arrière

12

Qu'est-ce qu'un ReplicaSet ?

Le contrôleur qui maintient un nombre fixe de Pods identiques en vie

13

À quoi servent les labels ?

Des paires clé/valeur sur les objets, utilisées par les sélecteurs pour les regrouper

14

Qu'est-ce qu'un Service ?

Une IP et un nom DNS stables devant un groupe de Pods sélectionnés par labels

15

Service de type ClusterIP : qui peut le joindre ?

Seulement l'intérieur du cluster

16

Service de type NodePort : comment est-il exposé ?

Sur un même port (30000-32767) de chaque nœud du cluster

17

Service de type LoadBalancer : que se passe-t-il à sa création ?

Le cloud provisionne un load balancer externe avec une IP publique qui pointe vers le Service

18

Qu'est-ce qu'un Ingress ?

Des règles de routage HTTP/HTTPS (hôte, chemin) vers des Services, appliquées par un Ingress controller

19

À quoi sert un Namespace ?

À partitionner logiquement un cluster : équipes, environnements, quotas, droits

20

Qu'est-ce qu'un ConfigMap ?

Un objet qui stocke de la configuration non sensible, injectée en variables d'env ou en fichiers

21

Un Secret Kubernetes est-il chiffré ?

Non par défaut : juste encodé en base64, lisible par qui a le droit de le lire

22

Commande pour créer ou mettre à jour des objets depuis un fichier YAML ?

kubectl apply -f fichier.yaml

23

Un Pod ne démarre pas : quelle commande montre les événements qui expliquent pourquoi ?

kubectl describe pod

24

Que signifie le statut CrashLoopBackOff ?

Le conteneur plante en boucle ; Kubernetes attend de plus en plus longtemps entre deux relances

25

Commande pour voir les logs d'un Pod qui a crashé et redémarré ?

kubectl logs --previous

26

Commande pour ouvrir un shell dans un Pod ?

kubectl exec -it -- sh

27

Que fait Kubernetes quand une liveness probe échoue ?

Il redémarre le conteneur

28

Que fait Kubernetes quand une readiness probe échoue ?

Il retire le Pod des endpoints du Service, sans le redémarrer

29

À quoi sert la startup probe ?

À laisser du temps au démarrage avant que la liveness ne commence à tuer le conteneur

30

Que sont les requests d'un conteneur ?

Les ressources (CPU, mémoire) garanties, que le scheduler réserve sur le nœud pour placer le Pod

31

Que se passe-t-il si un conteneur dépasse sa limit mémoire ?

Un de ses processus est tué par le noyau (OOMKilled), en général le principal, et le conteneur redémarre

32

Que signifie le statut ImagePullBackOff ?

Le nœud n'arrive pas à télécharger l'image du conteneur

33

Un Pod reste en Pending : que signifie ce statut ?

Accepté par l'API mais pas encore placé : le plus souvent, aucun nœud ne convient

34

Qu'est-ce qu'un PersistentVolumeClaim (PVC) ?

La demande de stockage d'un Pod : « je veux 10 Gi en lecture-écriture », sans dire d'où

35

Qu'est-ce qu'un StatefulSet ?

Un contrôleur pour applications à état : identité réseau stable et volume propre par Pod

36

Qu'est-ce qu'un DaemonSet ?

Un contrôleur qui garantit un Pod sur chaque nœud du cluster (ou sur les nœuds sélectionnés)

37

Qu'est-ce qu'un Job ?

Un contrôleur qui lance des Pods jusqu'à ce que la tâche se termine avec succès

38

Que fait un HorizontalPodAutoscaler (HPA) ?

Ajuste automatiquement le nombre de réplicas d'un Deployment (ou StatefulSet) selon une métrique

39

Commande pour annuler la dernière mise à jour d'un Deployment ?

kubectl rollout undo deployment/

40

Dans un rolling update, que règle maxSurge ?

Le nombre de Pods en plus du nombre voulu pendant la bascule

41

Nom DNS complet d'un Service `api` dans le namespace `prod` ?

api.prod.svc.cluster.local

42

Qu'est-ce que Helm ?

Le gestionnaire de paquets de Kubernetes : des charts, templates YAML paramétrables

43

Dans le RBAC Kubernetes, qu'est-ce qu'un Role ?

Un ensemble de droits (verbes sur des ressources) limité à un namespace

44

Qu'est-ce qu'un ServiceAccount ?

L'identité d'un Pod auprès de l'API Kubernetes

45

À quoi servent les taints et tolerations ?

Un taint repousse les Pods d'un nœud ; seule une toleration correspondante permet d'y être placé

46

Kubernetes a-t-il besoin de Docker pour tourner ?

Non : il parle à un runtime CRI, containerd en général ; Docker Engine reste possible via cri-dockerd

47

Où kubectl trouve-t-il l'adresse du cluster et les identifiants ?

Dans le fichier kubeconfig (~/.kube/config), organisé en contextes

48

Qu'est-ce qu'une CRD (Custom Resource Definition) ?

Une extension de l'API Kubernetes : on y ajoute ses propres types d'objets

49

Par défaut, deux Pods de namespaces différents peuvent-ils communiquer ?

Oui : le réseau Kubernetes est plat, tout Pod joint tout Pod

50

Dans une spec de ressources, `512Mi` et `512M`, c'est pareil ?

Non : Mi est une puissance de 2 (1 Mi = 1 048 576 octets), M est décimal (1 000 000)

51

Dans un rolling update, que règle maxUnavailable ?

Le nombre de Pods qui peuvent manquer par rapport au nombre voulu pendant la bascule

52

Quand faut-il un ClusterRole plutôt qu'un Role ?

Pour des droits sur tout le cluster ou sur des ressources non namespacées (nœuds, namespaces, PV)

53

Comment un Role est-il attribué à quelqu'un ?

Par un RoleBinding (ou ClusterRoleBinding) qui lie le rôle à un utilisateur, un groupe ou un ServiceAccount

54

Que se passe-t-il si un conteneur dépasse sa limit CPU ?

Il est ralenti (throttling), pas tué

55

Qu'est-ce qu'un CronJob ?

Un contrôleur qui crée un Job à intervalle régulier, selon une expression cron

56

Rôle de kube-proxy ?

Maintenir sur chaque nœud les règles réseau qui font fonctionner les Services

57

Qu'est-ce qu'une NetworkPolicy ?

Un pare-feu déclaratif entre Pods : qui peut parler à qui, sélectionné par labels et namespaces

58

Comment forcer un Deployment à recréer ses Pods sans changer son image ?

kubectl rollout restart deployment/

Prêt à t'y mettre ?