Docker en de basis van DevOps · Les

Ingress en externe routing

Maak meerdere services via één toegangspunt van buitenaf bereikbaar met Ingress-resources, routing op host en pad en een Ingress-controller.

Les 4 van 413 stappen

Ingress en externe routing is een gratis Docker en de basis van DevOps-les op CoddyKit. Dit is les 4 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Docker en de basis van DevOps. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Voorbij NodePort en LoadBalancer

Een Service kan een app beschikbaar maken, maar elke app een eigen extern IP-adres geven wordt duur en onoverzichtelijk. Ingress biedt één slim HTTP-toegangspunt dat verkeer naar veel Services doorstuurt.

Wat is een Ingress?

Een Ingress is een Kubernetes-object dat HTTP/HTTPS-routeringsregels beschrijft: welke host of URL-pad naar welke Service verwijst.

Je hebt een controller nodig

Het Ingress-object bevat alleen regels. Een Ingress-controller (nginx, Traefik, HAProxy) houdt die regels daadwerkelijk in de gaten en verzorgt de routering. Zonder controller gebeurt er niets.

kubectl get pods -n ingress-nginx

Een eenvoudige Ingress

Deze Ingress stuurt al het verkeer naar één backend-Service op poort 80.

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

Routeren op basis van host

Voeg een host toe om op domeinnaam te routeren — api.example.com naar de ene Service en shop.example.com naar een andere, allemaal via hetzelfde IP-adres.

rules:
- host: api.example.com
  http:
    paths:
    - path: /
      pathType: Prefix
      backend:
        service:
          name: api
          port:
            number: 8080

Routeren op basis van pad

Je kunt ook routeren op basis van het URL-pad onder één host: /api naar de API-Service en / naar de webfrontend.

paths:
- path: /api
  pathType: Prefix
  backend:
    service:
      name: api
      port:
        number: 8080
- path: /
  pathType: Prefix
  backend:
    service:
      name: web
      port:
        number: 80

TLS-beëindiging

Ingress kan HTTPS beëindigen met een TLS-geheim, zodat je Services gewoon HTTP ontvangen terwijl gebruikers versleuteling krijgen.

spec:
  tls:
  - hosts:
    - shop.example.com
    secretName: shop-tls

Annotaties stemmen gedrag af

Controller-specifieke annotaties configureren herschrijvingen, time-outs, snelheidslimieten en meer. Ze staan in de metadata van de Ingress.

metadata:
  annotations:
    nginx.ingress.kubernetes.io/rewrite-target: /

IngressClass

Als er meerdere controllers zijn, geeft ingressClassName aan welke controller deze Ingress moet verwerken.

spec:
  ingressClassName: nginx

Ingress inspecteren

Controleer je regels en het toegewezen adres met kubectl get ingress en gebruik describe voor gebeurtenissen.

kubectl describe ingress web-ingress

Het moderne alternatief: Gateway API

Kubernetes ontwikkelt zich richting de Gateway API, een uitgebreidere opvolger van Ingress. Ingress wordt nog veel gebruikt en is het juiste startpunt.

Korte controle

Waarom is een Ingress-controller nodig?

Samenvatting

Je kunt apps nu netjes beschikbaar maken:

  • Ingress definieert HTTP-routeringsregels; een Ingress-controller voert ze uit
  • Routeer via één toegangspunt op basis van host of pad
  • Beëindig TLS en stem gedrag af met annotaties
  • ingressClassName kiest de controller

Eén IP-adres, veel Services, slimme routering.

Gratis beginnen

Leer Docker en de basis van DevOps met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
12
Lessen
48

Veelgestelde vragen

Is de les “Ingress en externe routing” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Docker en de basis van DevOps, waaronder “Ingress en externe routing”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Docker en de basis van DevOps bevat in totaal 4 lessen.

Wat leer ik in “Ingress en externe routing”?

Maak meerdere services via één toegangspunt van buitenaf bereikbaar met Ingress-resources, routing op host en pad en een Ingress-controller. Je oefent met Docker en de basis van DevOps door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met Docker en de basis van DevOps te beginnen?

Ervaring vooraf is niet nodig. Docker en de basis van DevOps op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 4 van 4.

Hoe lang duurt de les “Ingress en externe routing”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over Docker en de basis van DevOps?

Ja. Elke les over Docker en de basis van DevOps bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Deployments voor stateless apps
  2. Services voor netwerktoegang
  3. ConfigMaps en Secrets
  4. Ingress en externe routing
← Terug naar Docker en de basis van DevOps