DevOps Bootcamp · 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.

Lektion 4 von 413 Schritte

Ingress und externes Routing ist eine kostenlose DevOps Bootcamp-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 DevOps Bootcamp-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der DevOps Bootcamp-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.

Kostenlos starten

Lerne DevOps Bootcamp mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
142
Lektionen
568

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 DevOps Bootcamp-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der DevOps Bootcamp-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 DevOps Bootcamp 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 DevOps Bootcamp zu starten?

Keine Vorkenntnisse erforderlich. DevOps Bootcamp 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 DevOps Bootcamp-Lektion Code schreiben und ausführen?

Ja. Jede DevOps Bootcamp-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 DevOps Bootcamp