Wat zijn routes in Kubernetes en waar worden ze voor gebruikt?
sobes.tech AI
Antwoord van AI
Routes, of Ingress Routes, in Kubernetes, zijn een manier om externe toegang tot services binnen de cluster te bieden. Ze maken het beheer van binnenkomend verkeer mogelijk, dat wordt geleid naar de juiste services volgens door de gebruiker gedefinieerde regels.
Belangrijkste doelen van het gebruik van routes:
- Externe toegang bieden: Maakt applicaties toegankelijk vanaf buiten de cluster.
- Load balancing: Verdeelt het binnenkomende verkeer over meerdere service-voorbeelden.
- SSL/TLS-terminatie: Verwerkt HTTPS-verbindingen op het niveau van Ingress, ontlast de services.
- Virtueel hosten: Stelt je in staat om verkeer te sturen naar verschillende services op basis van de hostnaam in het verzoek.
- Routing op basis van pad: Stuurt verkeer naar verschillende services afhankelijk van het URL-pad in het verzoek.
De typische structuur van een routeregels (in het Ingress-manifest) kan er zo uitzien:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: voorbeeld-ingress
spec:
rules:
- host: voorbeeld.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
In dit voorbeeld wordt het verkeer naar voorbeeld.com zonder padvermelding doorgestuurd naar de service my-service (poort 80), en verkeer naar voorbeeld.com/api wordt doorgestuurd naar de service api-service (poort 8080).
Voor het laten werken van Ingress is een Ingress Controller nodig, die fungeert als een reverse proxy en de regels implementeert die in de Ingress-resources zijn gedefinieerd. Populaire Ingress-controllers zijn onder andere Nginx Ingress Controller, Ambassador, Traefik.