Was sind Routen in Kubernetes und wofür werden sie verwendet?
sobes.tech KI
Antwort von AI
Routen, oder Ingress Routes, in Kubernetes sind eine Möglichkeit, externen Zugriff auf Dienste innerhalb des Clusters bereitzustellen. Sie ermöglichen die Verwaltung des eingehenden Datenverkehrs, indem sie ihn entsprechend den vom Benutzer festgelegten Regeln an die entsprechenden Dienste weiterleiten.
Hauptziele der Verwendung von Routen:
- Externer Zugriff: Machen Anwendungen von außerhalb des Clusters zugänglich.
- Lastverteilung: Verteilen den eingehenden Datenverkehr auf mehrere Service-Instanzen.
- SSL/TLS-Terminierung: Verarbeiten HTTPS-Verbindungen auf Ingress-Ebene und entlasten die Dienste.
- Virtuelles Hosting: Ermöglichen die Weiterleitung des Datenverkehrs an verschiedene Dienste basierend auf dem Hostnamen in der Anfrage.
- Routing basierend auf dem Pfad: Leiten den Datenverkehr je nach URL-Pfad in der Anfrage an verschiedene Dienste weiter.
Die typische Struktur einer Routing-Regel (im Ingress-Manifest) könnte so aussehen:
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: beispiel-ingress
spec:
rules:
- host: beispiel.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 diesem Beispiel wird der Datenverkehr an beispiel.com ohne Pfadangabe an den Service my-service (Port 80) weitergeleitet, und der Datenverkehr an beispiel.com/api an den Service api-service (Port 8080).
Damit Ingress funktioniert, ist ein Ingress-Controller erforderlich, der als Reverse-Proxy fungiert und die in den Ingress-Ressourcen definierten Regeln umsetzt. Beliebte Ingress-Controller sind Nginx Ingress Controller, Ambassador, Traefik.