sigs.k8s.io/gateway-api@v1.0.0/site-src/blog/2022/graduating-to-beta.md (about) 1 --- 2 description: > 3 We are excited to announce the v0.5.0 release of Gateway API. For the first 4 time, several of our most important Gateway API resources are graduating to 5 beta. Additional, we are starting a new initiative to explore how Gateway API 6 can be used for mesh and introducing new experimental concepts such as URL 7 rewrites. 8 --- 9 10 # Gateway API Graduates to Beta 11 12 <small style="position:relative; top:-30px;"> 13 :octicons-calendar-24: July 13, 2022 ยท 14 :octicons-clock-24: 5 min read 15 </small> 16 17 We are excited to announce the v0.5.0 release of Gateway API. For the first 18 time, several of our most important Gateway API resources are graduating to 19 beta. Additionally, we are starting a new initiative to explore how Gateway API 20 can be used for mesh and introducing new experimental concepts such as URL 21 rewrites. We'll cover all of this and more below. 22 23 ## What is Gateway API? 24 25 Gateway API is a collection of resources centered around [Gateway][gw] resources 26 (which represent the underlying network gateways / proxy servers) to enable 27 robust Kubernetes service networking through expressive, extensible and 28 role-oriented interfaces that are implemented by many vendors and have broad 29 industry support. 30 31 Originally conceived as a successor to the well known [Ingress][ing] API, the 32 benefits of Gateway API include (but are not limited to) explicit support for 33 many commonly used networking protocols (e.g. `HTTP`, `TLS`, `TCP`, `UDP`) as 34 well as tightly integrated support for Transport Layer Security (TLS). The 35 `Gateway` resource in particular enables implementations to manage the lifecycle 36 of network gateways as a Kubernetes API. 37 38 If you're an end-user interested in some of the benefits of Gateway API we 39 invite you to jump in and find an implementation that suits you. At the time of 40 this release there are over a dozen [implementations][impl] for popular API 41 gateways and service meshes and guides are available to start exploring quickly. 42 43 [gw]:https://gateway-api.sigs.k8s.io/api-types/gateway/ 44 [ing]:https://kubernetes.io/docs/reference/kubernetes-api/service-resources/ingress-v1/ 45 [impl]:https://gateway-api.sigs.k8s.io/implementations/ 46 47 ### Getting started 48 49 Gateway API is an official Kubernetes API like 50 [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/). 51 Gateway API represents a superset of Ingress functionality, enabling more 52 advanced concepts. Similar to Ingress, there is no default implementation of 53 Gateway API built into Kubernetes. Instead, there are many different 54 [implementations][impl] available, providing significant choice in terms of underlying 55 technologies while providing a consistent and portable experience. 56 57 Take a look at the [API concepts documentation][concepts] and check out some of 58 the [Guides][guides] to start familiarizing yourself with the APIs and how they 59 work. When you're ready for a practical application open the [implementations 60 page][impl] and select an implementation that belongs to an existing technology 61 you may already be familiar with or the one your cluster provider uses as a 62 default (if applicable). Gateway API is a [Custom Resource Definition 63 (CRD)][crd] based API so you'll need to [install the CRDs][install-crds] onto a 64 cluster to use the API. 65 66 If you're specifically interested in helping to contribute to Gateway API, we 67 would love to have you! Please feel free to [open a new issue][issue] on the 68 repository, or join in the [discussions][disc]. Also check out the [community 69 page][community] which includes links to the Slack channel and community meetings. 70 71 [crd]:https://kubernetes.io/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/ 72 [concepts]:https://gateway-api.sigs.k8s.io/concepts/api-overview/ 73 [guides]:https://gateway-api.sigs.k8s.io/guides/getting-started/ 74 [impl]:https://gateway-api.sigs.k8s.io/implementations/ 75 [install-crds]:https://gateway-api.sigs.k8s.io/guides/getting-started/#install-the-crds 76 [issue]:https://github.com/kubernetes-sigs/gateway-api/issues/new/choose 77 [disc]:https://github.com/kubernetes-sigs/gateway-api/discussions 78 [community]:https://gateway-api.sigs.k8s.io/contributing/community/ 79 80 ## Release highlights 81 82 ### Graduation to beta 83 84 The `v0.5.0` release is particularly historic because it marks the growth in 85 maturity to a beta API version (`v1beta1`) release for some of the key APIs: 86 87 - [GatewayClass](https://gateway-api.sigs.k8s.io/api-types/gatewayclass/) 88 - [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/) 89 - [HTTPRoute](https://gateway-api.sigs.k8s.io/api-types/httproute/) 90 91 This achievement was marked by the completion of several graduation criteria: 92 93 - API has been [widely implemented][impl]. 94 - Conformance tests provide basic coverage for all resources and have multiple implementations passing tests. 95 - Most of the API surface is actively being used. 96 - Kubernetes SIG Network API reviewers have approved graduation to beta. 97 98 For more information on Gateway API versioning, refer to the [official 99 documentation](https://gateway-api.sigs.k8s.io/concepts/versioning/). To see 100 what's in store for future releases check out the [next steps](#next-steps) 101 section. 102 103 [impl]:https://gateway-api.sigs.k8s.io/implementations/ 104 105 ### Release channels 106 107 This release introduces the `experimental` and `standard` [release channels][ch] 108 which enable a better balance of maintaining stability while still enabling 109 experimentation and iterative development. 110 111 The `standard` release channel includes: 112 113 - resources that have graduated to beta 114 - fields that have graduated to standard (no longer considered experimental) 115 116 The `experimental` release channel includes everything in the `standard` release 117 channel, plus: 118 119 - `alpha` API resources 120 - fields that are considered experimental and have not graduated to `standard` channel 121 122 Release channels are used internally to enable iterative development with 123 quick turnaround, and externally to indicate feature stability to implementors 124 and end-users. 125 126 For this release we've added the following experimental features: 127 128 - [Routes can attach to Gateways by specifying port numbers](https://gateway-api.sigs.k8s.io/geps/gep-957/) 129 - [URL rewrites and path redirects](https://gateway-api.sigs.k8s.io/geps/gep-726/) 130 131 [ch]:https://gateway-api.sigs.k8s.io/concepts/versioning/#release-channels-eg-experimental-standard 132 133 ### Other improvements 134 135 For an exhaustive list of changes included in the `v0.5.0` release, please see 136 the [v0.5.0 release notes](https://github.com/kubernetes-sigs/gateway-api/releases/tag/v0.5.0). 137 138 ## Gateway API for service mesh: the GAMMA Initiative 139 Some service mesh projects have [already implemented support for the Gateway 140 API](https://gateway-api.sigs.k8s.io/implementations/). Significant overlap 141 between the Service Mesh Interface (SMI) APIs and the Gateway API has [inspired 142 discussion in the SMI 143 community](https://github.com/servicemeshinterface/smi-spec/issues/249) about 144 possible integration. 145 146 We are pleased to announce that the service mesh community, including 147 representatives from Cilium Service Mesh, Consul, Istio, Kuma, Linkerd, NGINX 148 Service Mesh and Open Service Mesh, is coming together to form the [GAMMA 149 Initiative](https://gateway-api.sigs.k8s.io/concepts/gamma/), a dedicated 150 workstream within the Gateway API subproject focused on Gateway API for Mesh 151 Management and Administration. 152 153 This group will deliver [enhancement 154 proposals](https://gateway-api.sigs.k8s.io/v1beta1/contributing/gep/) consisting 155 of resources, additions, and modifications to the Gateway API specification for 156 mesh and mesh-adjacent use-cases. 157 158 This work has begun with [an exploration of using Gateway API for 159 service-to-service 160 traffic](https://docs.google.com/document/d/1T_DtMQoq2tccLAtJTpo3c0ohjm25vRS35MsestSL9QU/edit#heading=h.jt37re3yi6k5) 161 and will continue with enhancement in areas such as authentication and 162 authorization policy. 163 164 ## Next steps 165 166 As we continue to mature the API for production use cases, here are some of the highlights of what we'll be working on for the next Gateway API releases: 167 168 - [GRPCRoute][gep1016] for [gRPC][grpc] traffic routing 169 - [Route delegation][pr1085] 170 - Layer 4 API maturity: Graduating [TCPRoute][tcpr], [UDPRoute][udpr] and 171 [TLSRoute][tlsr] to beta 172 - [GAMMA Initiative](https://gateway-api.sigs.k8s.io/concepts/gamma/) - Gateway API for Service Mesh 173 174 If there's something on this list you want to get involved in, or there's 175 something not on this list that you want to advocate for to get on the roadmap 176 please join us in the #sig-network-gateway-api channel on Kubernetes Slack or our weekly [community calls](https://gateway-api.sigs.k8s.io/contributing/community/#meetings). 177 178 [gep1016]:https://github.com/kubernetes-sigs/gateway-api/blob/master/geps/gep-1016.md 179 [grpc]:https://grpc.io/ 180 [pr1085]:https://github.com/kubernetes-sigs/gateway-api/pull/1085 181 [tcpr]:https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1alpha2/tcproute_types.go 182 [udpr]:https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1alpha2/udproute_types.go 183 [tlsr]:https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1alpha2/tlsroute_types.go 184 [community]:https://gateway-api.sigs.k8s.io/contributing/community/