Leçon 9 : exposer des applis — LoadBalancer, Ingress et DNS
Dans la leçon précédente on a découvert un Service ClusterIP — une adresse stable et un nom DNS qui se connectent aux Pods, mais seulement depuis l'intérieur du cluster. Maintenant la question est : comment un visiteur venu de l'extérieur (internet) atteint-il l'application ? On va découvrir trois n
ClusterIP, c'est un téléphone interne au bureau ; LoadBalancer, c'est un numéro externe que n'importe qui peut composer ; et Ingress, c'est le hall de l'immeuble qui envoie chaque visiteur vers le bon bureau selon le nom sur la porte.
- Ingress
- Un objet qui route le trafic HTTP/HTTPS externe vers des Services internes selon le nom d'hôte (host) et le chemin (path). Il fournit un point d'entrée unique pour plusieurs applications. Il faut un Ingress Controller tournant dans le cluster pour appliquer les règles.
- LoadBalancer
- Un type de Service qui demande au fournisseur cloud une vraie adresse IP externe, et équilibre le trafic au niveau réseau (L4) vers les Pods de ce Service. Cela rend l'application accessible depuis l'extérieur du cluster.
- DNS du cluster
- Un service DNS interne qui résout les noms de Service en adresses IP à l'intérieur du cluster. Un nom complet ressemble à : <service>.<namespace>.svc.cluster.local, par exemple web.default.svc.cluster.local.
- ClusterIP
- Le type de Service par défaut : une IP virtuelle stable accessible uniquement depuis l'intérieur du cluster. Idéal pour la communication entre composants internes, mais inaccessible depuis l'extérieur.
- NodePort
- Un type de Service qui ouvre un port fixe sur chaque node du cluster, de sorte qu'on puisse atteindre le Service via l'adresse d'un node et ce port. Une façon simple mais grossière d'exposer vers l'extérieur.