Skip to content

Commit df67627

Browse files
shaneuttrobscott
authored andcommitted
docs: add gateway api ga blog post
1 parent d7e023e commit df67627

File tree

1 file changed

+195
-0
lines changed

1 file changed

+195
-0
lines changed
Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,195 @@
1+
---
2+
layout: blog
3+
title: "Gateway API is now Generally Available (GA)"
4+
date: 2023-10-19T10:00:00-08:00
5+
slug: gateway-api-ga
6+
---
7+
8+
***Authors:*** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google)
9+
10+
We (the community developing [Gateway API][gwapi]) are incredibly pleased and
11+
proud to announce _general availability_ of Gateway API for use with Kubernetes
12+
clusters `v1.24` and newer!
13+
14+
## Important Highlights
15+
16+
Gateway API brings a lot of new networking possibilities to the table in your
17+
Kubernetes cluster. In this post we'll cover some of the most important
18+
highlights.
19+
20+
For a complete list of changes for this specific release, please see our
21+
[v1.0.0 changelog entry][chlogv1].
22+
23+
For a complete list of every feature for every release, or to review some of
24+
the releases leading up to `v1.0.0`, please see our [historical
25+
changelog][clog].
26+
27+
### Version 1 APIs
28+
29+
This marks the **first stable release** of Gateway API, where we are now
30+
publishing the following APIs as `v1` (Version 1):
31+
32+
- [GatewayClass][gwc]
33+
- [Gateway][gw]
34+
- [HTTPRoute][hr]
35+
36+
Reaching version 1 with these APIs means we future iterations on them will be
37+
handled in a backwards compatible manner.
38+
39+
### CEL Migration
40+
41+
Gateway API [CRDs][crds] now include [CEL][cel] validation. This streamlines
42+
the development of validation for our resources, and reduces the overhead of
43+
deploying Gateway API to a cluster as it eliminates the need for our historical
44+
[admission webhook][admw].
45+
46+
> **Note**: For Kubernetes `v1.25` and newer we recommend against deploying the
47+
> webhook, and if you had it running previously you can now uninstall it in
48+
> favor of the validation now provided via CEL.
49+
50+
### Kubernetes Support
51+
52+
Gateway API generally [supports the last 5 stable Kubernetes versions][kvs]. As
53+
such, this release is supported on Kubernetes clusters version `1.24` through
54+
`1.29` at the time of release.
55+
56+
> **Warning**: Related to our migration to [CEL][cel] as mentioned above, we
57+
> don't recommend deploying on `v1.24` clusters if it can be avoided as these
58+
> clusters will still require the admission webhook, and that webhook is
59+
> considered deprecated and support for it will drop shortly after this GA
60+
> release when Kubernetes `v1.30` becomes available. If it's unavoidable to
61+
> deploy on `v1.24`, just note that you'll need to upgrade fairly soon in
62+
> order to be considered supported.
63+
64+
### Getting Started
65+
66+
If you want to try Gateway API features out for yourself but don't know where
67+
to get started you'll want to check out one of the 20+ implementations which
68+
we list on our website:
69+
70+
https://gateway-api.sigs.k8s.io/implementations/
71+
72+
Gateway API itself is just an API for downstream projects to implement, so take
73+
some time to peruse the implementations list above and find one that seems to
74+
fit your needs, or that you're most familiar with.
75+
76+
> **Note**: with this release we now have basic support for downstream
77+
> implementations to report the results of their Gateway API conformance test
78+
> runs. This means that for some implementations on the above implementations
79+
> page you may see a `Gateway API Conformance vX.X.X` badge present under their
80+
> project header. This indicates that this implementation _is conformant_ for
81+
> the version present in the badge, and is sending back reports of their
82+
> conformance to the upstream project, including details on which specific
83+
> features they support. Click on the badge to see a more detailed report of
84+
> supported features, but note that the reporting system is considered
85+
> experimental and the structure of these reports is subject to change.
86+
87+
## Future Plans
88+
89+
General availability is just the beginning of the much larger journey for
90+
Gateway API, and there's plenty of new features and new ideas in flight for the
91+
upcoming releases!
92+
93+
If you opt-in to the [experimental channel][expch] for this release, you'll find
94+
that there are several experimental features available which are being
95+
considered for inclusion as stable in future releases:
96+
97+
- [BackendTLSPolicy][gep1897]
98+
- [HTTPRoute Timeouts][gep1742]
99+
- [Gateway Infrastructure Labels][gep1762]
100+
- [Websockets, HTTP/2 and More!][gep1911]
101+
- [GWCTL, our new Gateway API CLI][gwctl]
102+
103+
We intend to have a blog post following up on this one which will cover these
104+
(and potentially more) experimental and upcoming features where the authors of
105+
the features themselves can provide a greater level of detail.
106+
107+
In future iterations we also intend to grow the maturity and work towards
108+
[graduation][grad] of APIs other than `GatewayClass`, `Gateway`, and
109+
`HTTPRoute`, which are not yet at version 1:
110+
111+
- [GRPCRoute][grpc]
112+
- [TCPRoute][tcp]
113+
- [UDPRoute][udp]
114+
- [TLSRoute][tls]
115+
- [ReferenceGrant][refg]
116+
117+
[ReferenceGrant][refg] is a slightly special case as we are considering what
118+
to do with this resource next: we've come to understand this might be a
119+
feature applicable to the greater Kubernetes community and we're trying to
120+
navigate potentially moving it somewhere more general to maximize benefit.
121+
122+
For those interested in service mesh, note that we continue to work on making
123+
Gateway API resources available for use in service mesh contexts as part of the
124+
[GAMMA project][gamma]. Please see our recent blog post ["Gateway API v0.8.0:
125+
Introducing Service Mesh Support"][gammablog] for more details.
126+
127+
What you've seen here is _not exhaustive_! Gateway API is a highly active
128+
project, with dozens of people actively working on it. If you're hoping to see
129+
one of the above routes graduated, or have ideas for features that we have yet
130+
to account for, we _strongly encourage_ you to [join us in the community][com]
131+
and help us build!
132+
133+
## Kubecon North America: Chicago
134+
135+
At [Kubecon North America (Chicago)][kna] and the adjacent
136+
[Contributor Summit][csum] there are several talks about or related to Gateway
137+
API that expand upon GA, discuss some of our new features, and even talk about
138+
what happens next. If you're attending Kubecon and the Contributor Summit this
139+
year, please do see us at these talks!
140+
141+
*Contributor Summit*:
142+
143+
- [Lessons learned building a GA API with CRDs][csum1]
144+
- [Conformance Testing (from Gateway API)][csum2]
145+
- [Gateway API: Beyond GA][csum3]
146+
147+
*Kubecon Main Event*:
148+
149+
**TODO**
150+
151+
## Recognition & Appreciation
152+
153+
Our project is more than just a project, it is a community of people working
154+
together to solve common problems. Our community _is_ the project and we want to
155+
give a huge shout out and thanks to them!
156+
157+
Thank you so much to our [170+ contributors][contribs] who built this project
158+
together with us, and made our GA release possible!
159+
160+
A special thank you to our [community members which agreed to take on an
161+
official role in the project][roles], explicitly providing some time for reviews
162+
and sharing the load of maintaining the project!
163+
164+
[gwapi]:https://gateway-api.sigs.k8s.io/
165+
[clogv1]:https://github.com/kubernetes-sigs/gateway-api/blob/main/CHANGELOG.md#v100
166+
[clog]:https://github.com/kubernetes-sigs/gateway-api/blob/main/CHANGELOG.md
167+
[gwc]:https://gateway-api.sigs.k8s.io/api-types/gatewayclass/
168+
[gw]:https://gateway-api.sigs.k8s.io/api-types/gateway/
169+
[hr]:https://gateway-api.sigs.k8s.io/api-types/httproute/
170+
[crds]:https://kubernetes.io/docs/concepts/extend-kubernetes/api-extension/custom-resources/
171+
[kvs]:https://gateway-api.sigs.k8s.io/concepts/versioning/#supported-versions
172+
[cel]:https://kubernetes.io/docs/reference/using-api/cel/
173+
[admw]:https://github.com/kubernetes-sigs/gateway-api/tree/main/config/webhook
174+
[expch]:https://gateway-api.sigs.k8s.io/concepts/versioning/#release-channels
175+
[gep1897]:https://gateway-api.sigs.k8s.io/geps/gep-1897/
176+
[gep1742]:https://gateway-api.sigs.k8s.io/geps/gep-1742/
177+
[gep1762]:https://gateway-api.sigs.k8s.io/geps/gep-1762/
178+
[gep1911]:https://gateway-api.sigs.k8s.io/geps/gep-1911/
179+
[gwctl]:https://github.com/kubernetes-sigs/gateway-api/tree/main/gwctl
180+
[grad]:https://gateway-api.sigs.k8s.io/concepts/versioning/#graduation-criteria
181+
[grpc]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.GRPCRoute
182+
[tcp]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute
183+
[udp]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute
184+
[tls]:https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute
185+
[com]:https://gateway-api.sigs.k8s.io/contributing/#how-to-get-involved
186+
[refg]:https://gateway-api.sigs.k8s.io/api-types/referencegrant/
187+
[gamma]:https://gateway-api.sigs.k8s.io/concepts/gamma/
188+
[gammablog]:https://kubernetes.io/blog/2023/08/29/gateway-api-v0-8/
189+
[kna]:https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/
190+
[csum]:https://kcsna2023.sched.com/
191+
[csum1]:https://kcsna2023.sched.com/event/1Sp9u/lessons-learned-building-a-ga-api-with-crds
192+
[csum2]:https://kcsna2023.sched.com/event/1Sp9l/conformance-profiles-building-a-generic-conformance-test-reporting-framework
193+
[csum3]:https://kcsna2023.sched.com/event/1SpA9/gateway-api-beyond-ga
194+
[contribs]:https://github.com/kubernetes-sigs/gateway-api/graphs/contributors
195+
[roles]:https://github.com/kubernetes-sigs/gateway-api/blob/main/OWNERS_ALIASES

0 commit comments

Comments
 (0)