Gateway API v1.2: Neue Funktionen für Entwickler und DevOps-Teams
Entdecken Sie die neuen Features der Gateway API v1.2 und erfahren Sie, wie diese Ihre Kubernetes-Anwendungen verbessern können.
Kubernetes SIG Network freut sich, die allgemeine Verfügbarkeit von Gateway API v1.2 bekannt zu geben! Diese Version der API wurde am 3. Oktober veröffentlicht und wir sind begeistert, dass es mittlerweile mehrere konforme Implementierungen gibt, die Sie ausprobieren können.
Gateway API v1.2 bringt zahlreiche neue Funktionen in den Standard-Kanal (dem GA-Release-Kanal der Gateway API), führt einige neue experimentelle Features ein und feiert unseren neuen Release-Prozess – allerdings gibt es auch zwei Breaking Changes, auf die Sie achten sollten.
Breaking Changes
Entfernung von GRPCRoute und ReferenceGrant v1alpha2
Da die v1
-Versionen von GRPCRoute und ReferenceGrant nun den Status Standard erreicht haben, wurden die alten v1alpha2
-Versionen aus den Standard- und Experimental-Kanälen entfernt. Dies geschieht, um die Wartungslast zu verringern, die eine ständige Unterstützung der alten Versionen für die Gateway API-Community mit sich bringen würde.
Bevor Sie auf Gateway API v1.2 aktualisieren, sollten Sie sicherstellen, dass alle Implementierungen der Gateway API auf die v1 API-Version dieser Ressourcen aktualisiert wurden, anstelle der v1alpha2 API-Version. Beachten Sie, dass selbst wenn Sie in Ihren YAML-Manifests v1 verwenden, ein Controller möglicherweise noch v1alpha2 verwendet, was während des Upgrades zu Problemen führen kann. Außerdem unternimmt Kubernetes Anstrengungen, um zu verhindern, dass Sie eine CRD-Version entfernen, die es für verwendet hält: Weitere Informationen finden Sie in den Release-Notizen.
Änderung von .status.supportedFeatures
(experimentell)
Eine kleinere Breaking Change: .status.supportedFeatures
in einem Gateway ist jetzt eine Liste von Objekten anstelle einer Liste von Strings. Die Objekte haben ein einzelnes name
-Feld, sodass die Umwandlung von Strings einfach ist, aber die Umstellung auf Objekte ermöglicht viel mehr Flexibilität für die Zukunft. Diese Stanza ist im Standard-Kanal noch nicht vorhanden.
Graduierungen in den Standard-Kanal
Gateway API 1.2.0 graduierte vier Funktionen in den Standard-Kanal, was bedeutet, dass sie nun als allgemein verfügbar betrachtet werden können. Die Aufnahme in den Standard-Release-Kanal zeigt ein hohes Maß an Vertrauen in die API-Oberfläche und bietet Garantien für Rückwärtskompatibilität. Natürlich können Standard-Kanal-Funktionen, wie bei jeder anderen Kubernetes-API, im Laufe der Zeit weiterentwickelt werden, und wir erwarten sicherlich weitere Verfeinerungen und Verbesserungen dieser neuen Funktionen in der Zukunft. Für weitere Informationen zu diesem Thema, lesen Sie die Gateway API Versionierungsrichtlinien.
HTTPRoute-Timeouts
GEP-1742 führte die timeouts
-Stanza in HTTPRoute ein, die die Konfiguration grundlegender Timeouts für HTTP-Verkehr ermöglicht. Dies ist eine einfache, aber wichtige Funktion für die richtige Resilienz beim Umgang mit HTTP-Verkehr und ist nun Standard.
Zum Beispiel setzt diese HTTPRoute-Konfiguration ein Timeout von 300ms für den Verkehr zum Pfad /face
:
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: face-with-timeouts
namespace: faces
spec:
parentRefs:
- name: my-gateway
kind: Gateway
rules:
- matches:
- path:
type: PathPrefix
value: /face
backendRefs:
- name: face
port: 80
timeouts:
request: 300ms
Für weitere Informationen schauen Sie sich die HTTP-Routing Dokumentation an. (Bitte beachten Sie, dass dies nur für HTTPRoute-Timeouts gilt. GRPCRoute-Timeouts sind noch nicht Teil der Gateway API.)
Die Verbesserungen in der Gateway API v1.2 bieten Entwicklern und DevOps-Teams wertvolle Werkzeuge zur Optimierung ihrer Kubernetes-Anwendungen. Bei ayedo sind wir stolz darauf, als Partner in der Kubernetes-Community zu agieren und helfen Ihnen gerne, das Beste aus diesen neuen Funktionen herauszuholen.
Quelle: Kubernetes Blog