Aller au contenu principal

Quiz Module 4 - Services et Networking

Instructions

Ce quiz contient 30 questions à choix multiples pour valider votre compréhension du Module 4.

Conseil: Répondez à chaque question avant de révéler la réponse.


Question 1

Quel est le rôle principal d'un Service dans Kubernetes?

Voir l'explication

Réponse correcte: Exposer un ensemble de Pods comme un service réseau avec une IP stable

Explication: Un Service fournit une IP stable et un nom DNS pour accéder à un groupe de Pods, même si les IPs des Pods changent.


Question 2

Quel type de Service est utilisé par défaut et n'est accessible que depuis l'intérieur du cluster?

Voir l'explication

Réponse correcte: ClusterIP

Explication: ClusterIP est le type par défaut. Il expose le Service sur une IP interne du cluster, accessible uniquement depuis l'intérieur.


Question 3

Quel type de Service expose l'application sur un port statique de chaque node?

Voir l'explication

Réponse correcte: NodePort

Explication: NodePort expose le Service sur un port statique (30000-32767) de chaque node, permettant d'accéder au Service depuis l'extérieur du cluster via [NodeIP]:[NodePort].


Question 4

Quel type de Service crée automatiquement un load balancer externe dans les environnements cloud?

Voir l'explication

Réponse correcte: LoadBalancer

Explication: LoadBalancer étend NodePort et crée automatiquement un load balancer externe dans les environnements cloud (AWS ELB, Azure Load Balancer, GCP Load Balancer).


Question 5

Quel est le format DNS d'un Service dans Kubernetes?

Voir l'explication

Réponse correcte: [service-name].[namespace].svc.cluster.local

Explication: Les Services ont un nom DNS complet qui inclut le nom du Service, le namespace, et le domaine du cluster, permettant la résolution DNS dans tout le cluster.


Question 6

Quel composant Kubernetes gère la résolution DNS des Services?

Voir l'explication

Réponse correcte: CoreDNS

Explication: CoreDNS est le service DNS qui résout les noms de Services et permet la découverte de services via DNS dans le cluster.


Question 7

Qu'est-ce qu'un Endpoint dans Kubernetes?

Voir l'explication

Réponse correcte: Une ressource qui liste les adresses IP des Pods qui correspondent aux sélecteurs d'un Service

Explication: Les Endpoints sont créés automatiquement pour chaque Service et contiennent les adresses IP des Pods backend qui correspondent aux sélecteurs du Service.


Question 8

Qu'est-ce qu'un EndpointSlice?

Voir l'explication

Réponse correcte: Une version améliorée d'Endpoint qui permet de gérer de grandes quantités de backends de manière plus efficace

Explication: EndpointSlice est une alternative moderne à Endpoint qui divise les endpoints en plusieurs slices, améliorant les performances pour les Services avec de nombreux backends.


Question 9

Quel est le mode de load balancing par défaut pour un Service ClusterIP?

Voir l'explication

Réponse correcte: Round-robin via iptables ou IPVS (selon la configuration de kube-proxy)

Explication: kube-proxy utilise iptables (par défaut) ou IPVS pour distribuer le trafic entre les Pods backend de manière round-robin.


Question 10

Qu'est-ce qu'un Service headless?

Voir l'explication

Réponse correcte: Un Service avec clusterIP: None qui retourne directement les IPs des Pods

Explication: Un Service headless (clusterIP: None) permet d'obtenir directement les adresses IP des Pods via DNS, utile pour StatefulSets et la découverte de services.


Question 11

Qu'est-ce qu'une Network Policy?

Voir l'explication

Réponse correcte: Une ressource qui définit les règles de communication réseau entre les Pods

Explication: Les Network Policies permettent de contrôler le trafic réseau entre les Pods, agissant comme un pare-feu au niveau du cluster.


Question 12

Quel plugin CNI est nécessaire pour utiliser les Network Policies?

Voir l'explication

Réponse correcte: Un plugin CNI qui supporte les Network Policies (Calico, Cilium, Weave, etc.)

Explication: Tous les plugins CNI ne supportent pas les Network Policies. Il faut utiliser un plugin compatible comme Calico, Cilium, ou Weave.


Question 13

Quel est le port par défaut d'un Service si non spécifié?

Voir l'explication

Réponse correcte: Le port doit être spécifié explicitement

Explication: Kubernetes ne définit pas de port par défaut pour les Services. Le port doit être spécifié dans la définition du Service.


Question 14

Qu'est-ce qu'un Service de type ExternalName?

Voir l'explication

Réponse correcte: Un Service qui mappe un Service à un nom DNS externe

Explication: ExternalName mappe un Service Kubernetes à un nom DNS externe, permettant d'accéder à des services externes comme s'ils étaient internes au cluster.


Question 15

Quelle est la plage de ports pour NodePort?

Voir l'explication

Réponse correcte: 30000-32767

Explication: Les ports NodePort sont assignés dans la plage 30000-32767 par défaut, bien que cette plage puisse être configurée.


Question 16

Qu'est-ce que le sessionAffinity dans un Service?

Voir l'explication

Réponse correcte: Une configuration qui garantit que les requêtes d'un client vont toujours au même Pod backend

Explication: sessionAffinity: ClientIP garantit que toutes les requêtes provenant de la même IP client sont dirigées vers le même Pod backend, utile pour les sessions.


Question 17

Quel est le rôle de kube-proxy dans le networking Kubernetes?

Voir l'explication

Réponse correcte: Maintenir les règles de réseau (iptables/IPVS) pour les Services et effectuer le load balancing

Explication: kube-proxy surveille les Services et les Endpoints, et met à jour les règles iptables ou IPVS pour diriger le trafic vers les Pods backend appropriés.


Question 18

Qu'est-ce qu'un Service sans sélecteur?

Voir l'explication

Réponse correcte: Un Service qui pointe vers des endpoints externes définis manuellement

Explication: Un Service sans sélecteur permet de créer un Service qui pointe vers des endpoints externes au cluster en créant manuellement un objet Endpoints.


Question 19

Quel est l'avantage d'utiliser IPVS au lieu d'iptables pour kube-proxy?

Voir l'explication

Réponse correcte: IPVS offre de meilleures performances et plus d'options de load balancing pour de nombreux Services

Explication: IPVS utilise des tables de hachage au lieu de longues chaînes iptables, offrant de meilleures performances et plus d'algorithmes de load balancing (rr, lc, dh, sh, sed, nq).


Question 20

Qu'est-ce que le cluster.local dans le DNS Kubernetes?

Voir l'explication

Réponse correcte: Le domaine DNS par défaut du cluster

Explication: cluster.local est le domaine DNS par défaut utilisé par CoreDNS pour résoudre les noms de Services dans le cluster (peut être configuré différemment).


Question 21

Quelle est la différence entre un Service ClusterIP et un Service NodePort?

Voir l'explication

Réponse correcte: ClusterIP est accessible uniquement dans le cluster, NodePort expose également un port sur chaque node

Explication: Un Service ClusterIP est accessible uniquement depuis l'intérieur du cluster, tandis qu'un NodePort étend ClusterIP en exposant également un port statique sur chaque node.


Question 22

Qu'est-ce qu'un Service Account dans le contexte du networking?

Voir l'explication

Réponse correcte: Une identité pour les Pods, utilisée pour l'authentification avec l'API Server

Explication: Un Service Account fournit une identité pour les Pods, permettant l'authentification et l'autorisation lors de l'accès à l'API Server, mais n'est pas directement lié au networking des Services.


Question 23

Quel est le rôle d'un Ingress dans Kubernetes?

Voir l'explication

Réponse correcte: Exposer les Services HTTP/HTTPS depuis l'extérieur du cluster avec routage basé sur le chemin ou le hostname

Explication: Ingress permet d'exposer plusieurs Services via un seul point d'entrée avec routage basé sur le chemin URL ou le hostname, avec support TLS/SSL.


Question 24

Qu'est-ce qu'un CNI plugin?

Voir l'explication

Réponse correcte: Un plugin réseau qui configure le networking des Pods dans Kubernetes

Explication: CNI (Container Network Interface) est une interface standard qui permet aux plugins réseau (Calico, Flannel, Weave, etc.) de configurer le networking des Pods.


Question 25

Quelle est la commande pour voir les Endpoints d'un Service?

Voir l'explication

Réponse correcte: kubectl get endpoints

Explication: Cette commande affiche les Endpoints qui listent les adresses IP des Pods backend pour chaque Service.


Question 26

Qu'est-ce qu'un Service mesh?

Voir l'explication

Réponse correcte: Une infrastructure dédiée qui gère la communication entre les microservices avec observabilité, sécurité et contrôle du trafic

Explication: Un Service mesh (comme Istio, Linkerd) ajoute une couche de networking qui gère la communication entre services avec des fonctionnalités avancées comme le mTLS, le circuit breaking, et l'observabilité.


Question 27

Quelle est la différence entre un Service et un Ingress?

Voir l'explication

Réponse correcte: Un Service expose un ensemble de Pods, un Ingress expose des Services HTTP/HTTPS avec routage avancé

Explication: Un Service expose des Pods avec une IP stable et du load balancing. Un Ingress est une couche au-dessus qui permet le routage HTTP/HTTPS basé sur le chemin ou le hostname vers plusieurs Services.


Question 28

Qu'est-ce qu'un ExternalIP dans un Service?

Voir l'explication

Réponse correcte: Une adresse IP externe qui peut être utilisée pour accéder au Service depuis l'extérieur du cluster

Explication: externalIPs permet de spécifier des adresses IP externes qui seront routées vers le Service, permettant l'accès externe sans LoadBalancer.


Question 29

Quelle est la commande pour tester la résolution DNS d'un Service?

Voir l'explication

Réponse correcte: nslookup [service-name].[namespace].svc.cluster.local depuis un Pod

Explication: Vous pouvez tester la résolution DNS en exécutant nslookup ou dig depuis un Pod pour vérifier que CoreDNS résout correctement le nom du Service.


Question 30

Qu'est-ce qu'un Service sans port targetPort spécifié?

Voir l'explication

Réponse correcte: Le targetPort utilise la même valeur que le port

Explication: Si targetPort n'est pas spécifié dans un Service, il utilise la même valeur que le port, ce qui signifie que le trafic vers le port du Service est dirigé vers le même port sur les Pods backend.


Résultat du Quiz

Félicitations pour avoir complété le quiz du Module 4!

Score:

  • 25-30 bonnes réponses: Excellent!
  • 20-24 bonnes réponses: Très bien!
  • 15-19 bonnes réponses: Bien!
  • Moins de 15: Recommandé de revoir le module.

Quiz créé le: Décembre 2024