v0.8.0 #2363
shaneutt
announced in
Announcements
v0.8.0
#2363
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Major Themes
GAMMA (Service Mesh)
Service mesh support per the GAMMA initiative has moved to experimental in
v0.8.0
. As an experimental API, it is still possible that this willchange; the working group does not recommend shipping products based on any
experimental API.
When using the Gateway API to configure a service mesh, the Gateway and
GatewayClass resources are not used (as there will typically only be one mesh
in the cluster) and, instead, individual route resources are associated
directly with Service resources. This permits configuring mesh routing while
preserving the Gateway API's overall semantics.
We encourage service mesh implementers and users to try this new support and
we welcome feedback! Once again, though, the working group does not recommend
shipping products based on this or any other experimental API. due to the
possibility of incompatible changes prior to the final release.
CEL Validation
This release marks the beginning of a transition from webhook validation to CEL
validation that is built into the CRDs. That will mean different things
depending on the version of Kubernetes you're using:
Kubernetes 1.25+
CEL validation is fully supported. Most validation is now covered by the
validating webhook, but unfortunately not quite everything.
All but one validation has been translated from the
webhook to CEL. Currently the CRDs only have a case-sensitive uniqueness check
for header names in header modifier filters. The webhook validation is more
thorough, ensuring that the uniqueness is case-insensitive. Unfortunately that
is not possible to represent with CEL today. There is more information in
#2277.
Installing the validating webhook is still recommended for this release to allow
controllers to catch up to cover this gap in CEL validation. We expect this is
the last release we will make this recommendation for, for more information,
refer to #2319.
Kubernetes 1.23 and 1.24
CEL validation is not supported, but Gateway API v0.8.0 CRDs can still be
installed. When you upgrade to Kubernetes 1.25+, the validation included in
these CRDs will automatically take effect. We recommend continuing to install
the validating webhook on these Kubernetes versions.
Kubernetes 1.22 and older
Unfortunately Gateway API v0.8.0 is not supported on these Kubernetes versions.
Gateway API v0.8.0 CRDs include CEL validation and cannot be installed on these
versions of Kubernetes. Note that Gateway API only commits to providing support
for the 5 most recent versions of Kubernetes,
and thus these versions are no longer supported by Gateway API.
API Version Changes
As we prepare for a v1.0 release that will graduate Gateway, GatewayClass, and
HTTPRoute to the
v1
API Version fromv1beta1
, we are continuing the processof moving away from
v1alpha2
for resources that have graduated tov1beta1
.The following changes are included in this release:
v1alpha2
of Gateway, GatewayClass, and HTTPRoute is no longer servedv1alpha2
of ReferenceGrant is deprecatedv1beta1
is now the storage version for ReferenceGrantThose changes mean that:
v1alpha2
ofGateway, GatewayClass, or HTTPRoute MUST upgrade to use
v1beta1
.v1alpha2
ofReferenceGrant SHOULD upgrade to use
v1beta1
.For more information, refer to
#2069.
Supported Features and Conformance Levels
Gateway API conformance tests have a concept of "Supported Features".
Implementations state which features they support, and then all the tests
covering that set of features are run.
Prior to v0.8.0, we had a concept of "StandardCoreFeatures" that represented the
set of features we expected every implementation to implement. Support for the
Gateway and HTTPRoute resources was included in that list.
Alongside that, Gateway API also has a concept of "Support Levels" such as
"Core", "Extended", and "Implementation-Specific". The API had labeled 2
resources as having support levels, but these didn't really make sense with
the modular API model of Gateway API.
In this release, we've simplified the concepts here. Individual resources no
longer have assigned support levels, instead these are represented as "Supported
Features." Implementations can separately claim to support Gateway,
ReferenceGrant, or any other resource. This change helps accommodate incoming
Mesh implementations, many of which do not support one or both of these
resources.
For more information refer to
#2323.
Other Changes
Status
invalid due to an invalid combination of route filters. (Add IncompatibleFilters reason for Accepted condition #2150, @sunjayBhatia)
Validation
uniqueness of names in Header Modifier "Remove" lists. (Using "Set" list type for "Remove" in Header Modifier Filters #2306, @robscott)
Spec Clarifications
mirrored request to a single destination endpoint within the backendRef
specified. (Add more clarity around RequestMirrorFilter dest #2317, @arkodg)
@gauravkghildiyal)
specificity alongside spec that port in Host header must be ignored when
matching on host. (apis/v1beta1: Host header must not be modified #2092, @sunjayBhatia)
GatewayReasonUnsupportedAddress (Fix typo GatewaReason -> GatewayReason #2149, @panslava)
slashes and capitalization are meaningful. (Clarifying HTTPRoute exact match behavior #2055, @robscott)
while performing a match against HTTPRoute.Hostnames (Add clarification for ignoring port while matching hostnames and update conformance #1980,
@gauravkghildiyal)
Conformance
and TLSRoute (conformance against invalid ReferenceGrants in HTTPRoute and TLSRoute #2076, @meyskens)
(conformance: fix ipv6 addresses #2024, @howardjohn)
ReferenceGrant gets deleted. (conformance: check HTTPRoute connectivity after deleting relevant ReferenceGrant #1853, @pmalek)
--skip-tests
flag has been added to the conformance CLI to enable testsopt-out when using it. (feat: skip-tests flag added to conformance CLI #2170, @mlavacca)
cli and by means of
go test
. (conformance profiles CLI #2066, @mlavacca)name for conformance purposes. (Add Conformance Details section to GEP template #2115, @youngnick)
(fix leaking TCP connections which leads to consistent conformance test failures #2358, @gauravkghildiyal)
Webhook
IfNotPresent. (enhancement: change default imagePullPolicy for gateway-api-admission-server to IfNotPresent #2215, @networkhermit)
Documentation
implementations. (apis: document ParentRef functionality for GAMMA #2146, @mikemorris)
@david-martin)
Bug Fixes
standard channel (Update kustomization.yaml to include reference grant #2084, @howardjohn)
same HTTPRoute rule as a Redirect filter (fix: Validate requestRedirect with backendrefs #2161, @slayer321)
specified a type of "Exact" without a corresponding Service or Method). Note
that the match type still defaults to "Exact". (Add CEL validation for GRPCMethodMatch #2311, @gauravkghildiyal)
New Contributors
Full Changelog: v0.7.0...v0.8.0
This discussion was created from the release v0.8.0.
Beta Was this translation helpful? Give feedback.
All reactions