--- layout: blog title: "Gateway API v1.0:正式发布(GA)" date: 2023-10-31T10:00:00-08:00 slug: gateway-api-ga --- **作者:** Shane Utt (Kong), Nick Young (Isovalent), Rob Scott (Google) **译者:** Xin Li (Daocloud) 我们代表 Kubernetes SIG Network 很高兴地宣布 [Gateway API](https://gateway-api.sigs.k8s.io/) v1.0 版本发布!此版本是该项目的一个重要里程碑。几个关键的 API 正在逐步进入 GA(正式发布)阶段, 同时其他重要特性已添加到实验(Experimental)通道中。 ## 新增内容 ### 升级到 v1 此版本将 [Gateway](https://gateway-api.sigs.k8s.io/api-types/gateway/)、 [GatewayClass](https://gateway-api.sigs.k8s.io/api-types/gatewayclass/) 和 [HTTPRoute](https://gateway-api.sigs.k8s.io/api-types/httproute/) 升级到 v1 版本, 这意味着它们现在是正式发布(GA)的版本。这个 API 版本表明我们对 API 的可感知方面具有较强的信心,并提供向后兼容的保证。 需要注意的是,虽然标准(Standard)通道中所包含的这个版本的 API 集合现在被认为是稳定的,但这并不意味着它们是完整的。 即便这些 API 已满足毕业标准,仍将继续通过实验(Experimental)通道接收新特性。要了解相关工作的组织方式的进一步信息,请参阅 [Gateway API 版本控制策略](https://gateway-api.sigs.k8s.io/concepts/versioning/)。 Gateway API 现在有了自己的 Logo!这个 Logo 是通过协作方式设计的, 旨在表达这是一组用于路由南北向和东西向流量的 Kubernetes API: ![Gateway API Logo](gateway-api-logo.png "Gateway API Logo") ### CEL 验证 过去,Gateway API 在安装 API 时绑定了一个验证性质(Validation)的 Webhook。 从 v1.0 开始,Webhook 的安装是可选的,仅建议在 Kubernetes 1.24 版本上使用。 Gateway API 现在将 [CEL](/zh-cn/docs/reference/using-api/cel/) 验证规则包含在 [CRD](/zh-cn/docs/concepts/extend-kubernetes/api-extension/custom-resources/) 中。Kubernetes 1.25 及以上版本支持这种新形式的验证,因此大多数安装中不再需要验证性质的 Webhook。 ### 标准(Standard)通道 此发行版本主要侧重于确保现有 Beta 级别 API 定义良好且足够稳定,可以升级为 GA。 其背后意味着为了提高与 Gateway API 交互时的整体用户体验而作的各种规范的澄清以及一些改进。 ## 实验(Experimental)通道 此发行版本中包含的大部分更改都限于实验通道。这些更改包括 HTTPRoute 超时、用于 Gateway 访问后端的 TLS 配置、WebSocket 支持、Gateway 基础设施的标签等等。 请继续关注后续博客,我们将详细介绍这些新特性。 ## 其他内容 有关此版本中包含的所有更改的完整列表,请参阅 [v1.0.0 版本说明](https://github.com/kubernetes-sigs/gateway-api/releases/tag/v1.0.0)。 ## 发展历程 Gateway API 的想法最初是在 4 年前的 KubeCon 圣地亚哥[提出](https://youtu.be/Ne9UJL6irXY?si=wgtC9w8PMB5ZHil2)的, 下一代 Ingress API。那次会议之后,诞生了一个令人难以置信的社区,致力于开发一种可能是 Kubernetes 历史上协作关系最密切的 API。 迄今为止,已有超过 170 人为此 API 做出了贡献,而且这个数字还在不断增长。 特别感谢 20 多位[愿意在项目中担任正式角色](https://github.com/kubernetes-sigs/gateway-api/blob/main/OWNERS_ALIASES)的社区成员, 他们付出了时间进行评审并分担项目维护的负担! 我们特别要强调那些在项目早期发展中起到关键作用的荣誉维护者: * [Bowei Du](https://github.com/bowei) * [Daneyon Hansen](https://github.com/danehans) * [Harry Bagdi](https://github.com/hbagdi) ## 尝试一下 与其他 Kubernetes API 不同,你无需升级到最新版本的 Kubernetes 即可获取最新版本的 Gateway API。只要运行的是 Kubernetes 最新的 5 个次要版本之一(1.24+), 就可以使用最新版本的 Gateway API。 要尝试此 API,请参照我们的[入门指南](https://gateway-api.sigs.k8s.io/guides/)。 ## 下一步 此版本只是 Gateway API 更广泛前景的开始,将来的 API 版本中还有很多新特性和新想法。 我们未来的一个关键目标是努力稳定和升级 API 的其他实验级特性。 这些特性包括支持[服务网格](https://gateway-api.sigs.k8s.io/concepts/gamma/)、 额外的路由类型([GRPCRoute](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.GRPCRoute)、 [TCPRoute](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TCPRoute)、 [TLSRoute](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.TLSRoute)、 [UDPRoute](https://gateway-api.sigs.k8s.io/references/spec/#gateway.networking.k8s.io/v1alpha2.UDPRoute))以及各种实验级特性。 我们还致力于将 [ReferenceGrant](https://gateway-api.sigs.k8s.io/api-types/referencegrant/) 移入内置的 Kubernetes API 中,使其不仅仅可用于网关 API。在 Gateway API 中,我们使用这个资源来安全地实现跨命名空间引用, 而这个概念现在被其他 SIG 采纳。这个 API 的新版本将归 SIG Auth 所有,在移到内置的 Kubernetes API 时可能至少包含一些修改。 ### Gateway API 现身于 KubeCon + CloudNativeCon 在 [KubeCon 北美(芝加哥)](https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/) 和同场的[贡献者峰会](https://www.kubernetes.dev/events/2023/kcsna/)上, 有几个与 Gateway API 相关的演讲将详细介绍这些主题。如果你今年要参加其中的一场活动, 请考虑将它们添加到你的日程安排中。 **贡献者峰会:** - [使用 CRD 构建 GA API 的经验教训](https://sched.co/1Sp9u) - [合规性配置文件:构建通用合规性测试报告框架](https://sched.co/1Sp9l) - [Gateway API:GA 以后](https://sched.co/1SpA9) **KubeCon 主要活动:** - [Gateway API:Kubernetes 历史上协作性最强的 API 已经正式发布](https://sched.co/1R2qM) **KubeCon 办公时间:** 如果你想就相关主题发起讨论或参与头脑风暴,请参加 Gateway API 维护人员在 KubeCon 上举行办公时间会议。 要获取有关这些会议的最新更新,请加入 [Kubernetes Slack](https://slack.kubernetes.io/) 上的 `#sig-network-gateway-api` 频道。 ## 参与其中 我们只是初步介绍了 Gateway API 正在进行的工作。 有很多机会参与并帮助定义 Ingress 和 Mesh 的 Kubernetes 路由 API 的未来。 如果你对此感兴趣,请[加入我们的社区](https://gateway-api.sigs.k8s.io/contributing/)并帮助我们共同构建 Gateway API 的未来!