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/