Die Zukunft der Kubernetes-Netzwerktechnologie: Gateway API im Fokus
Erfahren Sie, wie die Gateway API die Kubernetes-Netzwerkwelt revolutioniert und welche Vorteile sie für Entwickler und DevOps-Teams bringt.
Die Ingress-Ressource gehört zu den vielen Erfolgsgeschichten von Kubernetes. Sie hat ein vielfältiges Ökosystem von Ingress-Controllern hervorgebracht, die in Hunderttausenden von Clustern auf standardisierte und konsistente Weise eingesetzt werden. Diese Standardisierung erleichterte es den Nutzern, Kubernetes zu übernehmen. Fünf Jahre nach der Einführung von Ingress zeigen sich jedoch Anzeichen einer Fragmentierung in verschiedene, aber auffallend ähnliche CRDs und überlastete Anmerkungen. Die gleiche Portabilität, die Ingress so weit verbreitet machte, schränkte auch seine Zukunft ein.
Es war auf der Kubecon 2019 in San Diego, als sich eine leidenschaftliche Gruppe von Mitwirkenden versammelte, um die Weiterentwicklung von Ingress zu diskutieren. Die Diskussion erstreckte sich bis in die Hotellobby gegenüber und die Ergebnisse wurden später als Gateway API bekannt. Diese Diskussion basierte auf einigen grundlegenden Annahmen:
- Die API-Standards, die dem Routen-Matching, dem Traffic-Management und der Service-Exposition zugrunde liegen, sind commoditized und bieten ihren Implementierern und Nutzern als benutzerdefinierte APIs nur wenig Wert.
- Es ist möglich, L4/L7-Routing und Traffic-Management durch gemeinsame Kern-API-Ressourcen darzustellen.
- Es ist möglich, Erweiterbarkeit für komplexere Funktionen bereitzustellen, ohne die Benutzererfahrung der Kern-API zu opfern.
Einführung in die Gateway API
Dies führte zu Designprinzipien, die es der Gateway API ermöglichen, sich gegenüber Ingress zu verbessern:
- Ausdrucksstärke - Neben HTTP Host/Pfad-Matching und TLS kann die Gateway API Fähigkeiten wie HTTP-Header-Manipulation, Traffic-Wichtung und -Spiegelung, TCP/UDP-Routing und andere Funktionen ausdrücken, die in Ingress nur durch benutzerdefinierte Anmerkungen möglich waren.
- Rollenorientiertes Design - Das API-Ressourcenmodell spiegelt die Trennung der Verantwortlichkeiten wider, die im Routing und im Kubernetes-Service-Netzwerk üblich ist.
- Erweiterbarkeit - Die Ressourcen erlauben willkürliche Konfigurationsanhänge auf verschiedenen Ebenen innerhalb der API. Dies ermöglicht eine granulare Anpassung an den geeignetsten Stellen.
- Flexible Konformität - Die Gateway API definiert unterschiedliche Konformitätsstufen - Kern (obligatorische Unterstützung), erweitert (tragbar, wenn unterstützt) und benutzerdefiniert (keine Tragfähigkeitsgarantie), die zusammen als flexible Konformität bekannt sind. Dies fördert eine hochgradig tragbare Kern-API (wie Ingress), die dennoch Flexibilität für Implementierer von Gateway-Controllern bietet.
Mit der Einführung der Gateway API können Entwickler und DevOps-Teams nun von einer flexibleren und leistungsfähigeren Netzwerktechnologie profitieren. ayedo unterstützt Sie dabei, diese neuen Möglichkeiten optimal zu nutzen und in Ihre Kubernetes-Umgebungen zu integrieren.
Quelle: Kubernetes Blog