0Pricing
Docker & DevOps Fundamentals · Lektion

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-nginx

Ein 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: 80

Routing 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: 8080

Routing 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: 80

TLS-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-tls

Annotations 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: nginx

Ingress 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-ingress

Die 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
  • ingressClassName wä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

  1. Deployments für zustandslose Apps
  2. Services für den Netzwerkzugriff
  3. ConfigMaps und Secrets
  4. Ingress und externes Routing
← Zurück zu Docker & DevOps Fundamentals