Qu'est-ce que les routes dans Kubernetes et à quoi servent-elles?
sobes.tech IA
Réponse de l'IA
Les routes, ou Ingress Routes, dans Kubernetes, sont un moyen de fournir un accès externe aux services à l’intérieur du cluster. Elles permettent de gérer le trafic entrant, en le dirigeant vers les services appropriés selon les règles définies par l’utilisateur.
Objectifs principaux de l’utilisation des routes :
- Fournir un accès externe : Rendent les applications accessibles de l’extérieur du cluster.
- Équilibrage de charge : Distribuent le trafic entrant entre plusieurs instances de services.
- Terminaison SSL/TLS : Gèrent les connexions HTTPS au niveau de l’Ingress, déchargeant les services.
- Hébergement virtuel : Permettent de diriger le trafic vers différents services selon le nom d’hôte dans la requête.
- Routage basé sur le chemin : Dirigent le trafic vers différents services selon le chemin URL dans la requête.
La structure typique d’une règle de routage (dans le manifeste Ingress) peut ressembler à ceci :
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-service
port:
number: 80
- path: /api
pathType: Prefix
backend:
service:
name: api-service
port:
number: 8080
Dans cet exemple, le trafic vers example.com sans spécifier de chemin est dirigé vers le service my-service (port 80), et le trafic vers example.com/api est dirigé vers le service api-service (port 8080).
Pour que l’Ingress fonctionne, un contrôleur d’Ingress est nécessaire, qui agit comme un proxy inverse et met en œuvre les règles définies dans les ressources Ingress. Les contrôleurs d’Ingress populaires incluent Nginx Ingress Controller, Ambassador, Traefik.