Netzwerkverkehr: Cilium 1.13 leitet Übergang von der Ingress zur Gateway API ein

Für die Lastverteilung und das Routing des Netzwerkverkehrs zwischen containerisierten Anwendungen baut Cilium 1.13 auf die neue Gateway API.

In Pocket speichern vorlesen Druckansicht 13 Kommentare lesen
Netzwerkverkehr: Cilium 1.13 leitet Übergang von der Ingress zur Gateway API ein

(Bild: Juice Flair/Shutterstock.com)

Lesezeit: 4 Min.
Inhaltsverzeichnis

Cilium 1.13 geht mit einer vollständigen Implementierung der Gateway API an den Start, die mittelfristig die Ingress API ablösen und der neue Standard für das Service Networking in Kubernetes werden soll. Laut Ankündigung der Cilium-Entwickler von Isovalent eröffnet Version 1.13 des CNCF-Projekts die Möglichkeit, das Traffic Management auf die Gateway API umzustellen. Cilium 1.13 wartet darüber hinaus mit einer Reihe weiterer Neuerungen auf, die zu erhöhter Sicherheit in der Software Supply Chain beitragen sollen.

Als Open-Source-Tool, das auf abgesicherte Netzwerkverbindungen zwischen containerisierten Anwendungen zugeschnitten ist, bietet Cilium seit Version 1.12 ein eigenes Service Mesh und baut dabei auf Kubernetes-Ressourcen wie den Envoy Proxy und die Kernel-Sandboxing-Technologie eBPF auf. Mit Implementierung der Gateway API macht das neue Release einen entscheidenden Schritt, die mit der bisherigen Ingress API verbundenen Einschränkungen zu überwinden. Die von der Kubernetes SIG-Network vorangetriebene Entwicklung der Gateway API soll erweiterte Funktionen für das Load Balancing bereitstellen – insbesondere auch in verteilten Multi-Cluster-Umgebungen. Dazu führt die Gateway API ein rollenorientiertes Design ein, das eine Trennung der Zuständigkeiten beim Erstellen und Verwalten des Traffic Managements ermöglicht, sodass sich auch unabhängig voneinander agierende Teams eine gemeinsame Netzwerkinfrastruktur besser teilen können.

Cilium 1.13 führt eine Gateway-API-Implementierung ein.

(Bild: Isovalent)

Die Gateway API hat derzeit noch Betastatus (aktuelle Version 0.6.1), lässt sich in Cilium aber bereits für typische Aufgaben wie HTTP Routing, TLS Termination, HTTP Traffic Splitting/Weighting oder HTTP Header Modification nutzen. Ist ein Gateway nach folgendem Manifest angelegt

apiVersion: gateway.networking.k8s.io/v1beta1
kind: Gateway
metadata:
  name: my-gateway
spec:
  gatewayClassName: cilium
  listeners:
  - protocol: HTTP
    port: 80
    name: web-gw
    allowedRoutes:
      namespaces:
        from: Same

können Anwendungsentwicklerinnen und -entwickler spezifische Routen für ihre Anwendungen bereitstellen:

apiVersion: gateway.networking.k8s.io/v1beta1
kind: HTTPRoute
metadata:
  name: http-app-1
spec:
  parentRefs:
  - name: my-gateway
    namespace: default
  rules:
  - matches:
    - path:
        type: PathPrefix
        value: /details
    backendRefs:
    - name: details
      port: 9080

Bei der Migration von der Ingress zur Gateway API hilft das – noch experimentelle – Tool Ingress2Gateway. Weitergehende Informationen finden sich im Cilium-Gateway-API-Lab von Isovalent.

Für das Integrieren verschiedenster Identitätsmanagement-Anbieter arbeitet das Cilium-Team an einer neuen mTLS-Implementierung, die ohne Proxy auskommt. Eine wichtige Voraussetzung dafür schafft Version 1.13 mit der Einführung von mTLS auf der Datapath-Ebene. Das Service Mesh ist dadurch künftig in der Lage, Endpunkte auf Peer-Nodes im Cluster zu authentifizieren und auch die Data-Plane-Verbindungen auf Basis beiderseitiger Authentifizierung zu kontrollieren.

Einen Beitrag zur Sicherung der Software Supply Chain leistet Cilium 1.13 mit der Einführung von SBOMs (Software Bills of Materials). Sämtliche Cilium- und Tetragon-Images sind ab sofort mit Cosign signiert und enthalten eine SBOM, in der die Softwarekomponenten und deren Abhängigkeiten aufgelistet sind. Die SBOMs werden mit dem bom-Tool im SPDX-Format (Software Package Data Exchange) erstellt.

Von detaillierteren Einblicken in den Netzwerkverkehr profitieren Grafana-Anwenderinnen und -Anwender. Nachdem Isovalent und Grafana bereits im Herbst 2022 eine engere Partnerschaft beschlossen hatten, verschafft die Integration in Cilium eine erweiterte Observability. Das gilt zum einen für das Beobachten von Zustand und Leistung der Netzwerkverbindungen zwischen Cloud-nativen Anwendungen in Kubernetes anhand der Prometheus-Metriken, aber ebenso für die mit Grafana Tempo erfassten Tracing-Daten. Letztere umfassen in Cilium 1.13 nun auch Layer-7-HTTP-Metriken aus der auf Cilium aufsetzenden Observability-Plattform Hubble.

Mehr Details dazu sowie ein kompletter Überblick aller Änderungen im neuen Cilium-Release finden sich im Blogbeitrag von Isovalent sowie auf der Website des Cilium-Projekts.

(map)