Leçon 8 : Service — une adresse réseau stable pour les Pods
Jusqu'ici on a appris que Kubernetes garde plusieurs copies (Pods) de ton appli en vie et les restaure quand elles tombent. Mais il y a un problème discret : chaque Pod a sa propre adresse réseau (IP), et cette adresse est éphémère — elle change à chaque fois qu'un Pod meurt, est recréé, ou déménage
Un Service, c'est comme le numéro de téléphone de l'accueil d'un bureau. Le personnel change tout le temps, mais celui qui appelle compose toujours le même numéro — et l'appel arrive à quelqu'un de disponible.
- Service
- Un objet Kubernetes qui donne à un groupe de Pods un nom et une adresse réseau stables, et répartit les requêtes entre eux (load-balancing). L'adresse reste fixe même quand les Pods changent.
- ClusterIP
- Le type de Service par défaut : une adresse virtuelle interne accessible uniquement depuis l'intérieur du cluster, de sorte que les composants internes peuvent l'atteindre mais pas le monde extérieur.
- Selector et Labels
- Un label est une paire clé-valeur attachée à un Pod (par exemple app: web). Le selector d'un Service précise quels labels rechercher, et c'est ainsi que le Service sait à quels Pods envoyer le trafic.
- IP éphémère du Pod
- Chaque Pod reçoit sa propre IP, mais cette IP n'est pas stable : elle change quand le Pod est recréé ou déménage sur un autre node. Il ne faut donc jamais s'y fier directement.
- Répartition de charge
- Répartir les requêtes entrantes entre plusieurs Pods identiques, pour qu'aucune copie ne soit surchargée seule et que le service reste disponible.
- targetPort
- Le port sur lequel l'application à l'intérieur du Pod écoute réellement. Le Service reçoit le trafic sur son port et le transfère vers le targetPort du Pod.