Ingress und externes Routing
Machen Sie mehrere Services über einen einzigen Einstiegspunkt von außen erreichbar – mit Ingress-Ressourcen, Host- und Pfadrouting sowie einem Ingress-Controller.
Ingress und externes Routing ist eine kostenlose Docker & DevOps Fundamentals-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Docker & DevOps Fundamentals-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Docker & DevOps Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Über NodePort und LoadBalancer hinaus
Ein Service kann eine Anwendung zugänglich machen, aber eine eigene externe IP für jede Anwendung wird teuer und unübersichtlich. Ingress stellt einen intelligenten HTTP-Einstiegspunkt bereit, der Anfragen an viele Services weiterleitet.
Was ist ein Ingress?
Ein Ingress ist ein Kubernetes-Objekt, das HTTP-/HTTPS-Routing-Regeln beschreibt: welcher Host oder URL-Pfad welchem Service zugeordnet wird.
Sie benötigen einen Controller
Das Ingress-Objekt besteht lediglich aus Regeln. Ein Ingress-Controller (nginx, Traefik, HAProxy) überwacht diese Regeln und führt das Routing tatsächlich durch. Ohne Controller bleibt der Ingress wirkungslos.
kubectl get pods -n ingress-nginxEin grundlegender Ingress
Dieser Ingress leitet den gesamten Datenverkehr an einen einzelnen Backend-Service auf Port 80 weiter.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: web-ingress
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80Routing nach Host
Fügen Sie ein host-Feld hinzu, um nach dem Domainnamen zu routen – api.example.com zu einem Service, shop.example.com zu einem anderen, alles über dieselbe IP.
rules:
- host: api.example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: api
port:
number: 8080Routing nach Pfad
Alternativ können Sie unter einem Host nach dem URL-Pfad routen: /api zum API-Service und / zum Web-Frontend.
paths:
- path: /api
pathType: Prefix
backend:
service:
name: api
port:
number: 8080
- path: /
pathType: Prefix
backend:
service:
name: web
port:
number: 80TLS-Terminierung
Ingress kann HTTPS mithilfe eines TLS-Secrets beenden, sodass Ihre Services unverschlüsseltes HTTP erhalten, während Benutzer eine verschlüsselte Verbindung nutzen.
spec:
tls:
- hosts:
- shop.example.com
secretName: shop-tlsAnnotations passen das Verhalten an
Controller-spezifische Annotations konfigurieren Umschreibungen, Timeouts, Ratenbegrenzungen und mehr. Sie befinden sich in den Metadaten des Ingress.
metadata:
annotations:
nginx.ingress.kubernetes.io/rewrite-target: /IngressClass
Wenn mehrere Controller vorhanden sind, gibt ingressClassName an, welcher davon diesen Ingress verarbeiten soll.
spec:
ingressClassName: nginxIngress untersuchen
Prüfen Sie Ihre Regeln und die zugewiesene Adresse mit kubectl get ingress und verwenden Sie describe, um Ereignisse anzuzeigen.
kubectl describe ingress web-ingressDie moderne Alternative: Gateway API
Kubernetes entwickelt sich in Richtung der Gateway API, eines ausdrucksstärkeren Nachfolgers von Ingress. Ingress ist weiterhin weit verbreitet und der richtige Einstiegspunkt.
Kurzer Test
Warum ist ein Ingress-Controller erforderlich?
Zusammenfassung
Sie können Anwendungen jetzt übersichtlich zugänglich machen:
- Ingress definiert HTTP-Routing-Regeln; ein Ingress-Controller setzt sie durch
- Routen Sie über einen einzigen Einstiegspunkt nach Host oder Pfad
- Beenden Sie TLS und passen Sie das Verhalten mit Annotations an
ingressClassNamewählt den Controller aus
Eine IP, viele Services, intelligentes Routing.
Häufig gestellte Fragen
Ist die Lektion „Ingress und externes Routing“ kostenlos?
Ja — der vollständige Text von „Ingress und externes Routing“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Docker & DevOps Fundamentals-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Docker & DevOps Fundamentals-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Ingress und externes Routing“?
Machen Sie mehrere Services über einen einzigen Einstiegspunkt von außen erreichbar – mit Ingress-Ressourcen, Host- und Pfadrouting sowie einem Ingress-Controller. Du übst Docker & DevOps Fundamentals mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Docker & DevOps Fundamentals zu starten?
Keine Vorkenntnisse erforderlich. Docker & DevOps Fundamentals auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Ingress und externes Routing“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Docker & DevOps Fundamentals-Lektion Code schreiben und ausführen?
Ja. Jede Docker & DevOps Fundamentals-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Deployments für zustandslose Apps
- Services für den Netzwerkzugriff
- ConfigMaps und Secrets
- Ingress und externes Routing