本文发表于一年多前。旧文章可能包含过时内容。请检查页面中的信息自发布以来是否已变得不正确。
Kubernetes Gateway API 进阶至 Beta
我们很高兴地宣布 Gateway API 的 v0.5.0 版本发布。Gateway API 中几个最重要的资源首次晋级为 Beta 版。此外,我们正在启动一项新计划,以探索如何将 Gateway API 用于网格,并引入新的实验性概念,例如 URL 重写。我们将在下文中详细介绍所有这些内容。
什么是 Gateway API?
Gateway API 是一组围绕 Gateway 资源(代表底层网络网关/代理服务器)的资源集合,旨在通过富有表现力、可扩展且面向角色的接口来实现强大的 Kubernetes 服务网络,这些接口得到了众多供应商的实现和广泛的行业支持。
Gateway API 最初被设想为著名的 Ingress API 的继任者,其优点包括(但不限于)对许多常用网络协议(例如 HTTP
、TLS
、TCP
、UDP
)的明确支持,以及对传输层安全(TLS)的紧密集成支持。特别是 Gateway
资源,它使得实现能够将网络网关的生命周期作为一个 Kubernetes API 进行管理。
如果您是终端用户,对 Gateway API 的某些优势感兴趣,我们邀请您深入了解并找到适合您的实现。在本次发布时,已有十多种针对流行 API 网关和服务网格的实现,并提供了可供快速开始探索的指南。
开始使用
Gateway API 是一个官方的 Kubernetes API,就像 Ingress 一样。Gateway API 代表了 Ingress 功能的超集,支持更高级的概念。与 Ingress 类似,Kubernetes 中没有内置 Gateway API 的默认实现。相反,有许多不同的实现可用,提供了在底层技术方面的显著选择,同时提供了一致且可移植的体验。
请查看 API 概念文档,并浏览一些指南,开始熟悉这些 API 及其工作原理。当您准备好进行实际应用时,请打开实现页面,选择一个属于您可能已经熟悉的技术的实现,或者您集群提供商用作默认的实现(如果适用)。Gateway API 是一个基于自定义资源定义 (CRD) 的 API,因此您需要在集群上安装 CRD才能使用该 API。
如果您对为 Gateway API 做出贡献特别感兴趣,我们非常欢迎您的加入!请随时在仓库上开启一个新 issue,或参与讨论。另请查看社区页面,其中包含 Slack 频道和社区会议的链接。
发布亮点
晋级为 Beta 版
v0.5.0
版本的发布具有特别的历史意义,因为它标志着一些关键 API 成熟度提升至 Beta API 版本 (v1beta1
)。
这一成就的标志是完成了几个晋级标准:
- API 已被广泛实现。
- 一致性测试为所有资源提供了基本覆盖,并且有多个实现通过了测试。
- 大部分 API 接口正在被积极使用。
- Kubernetes SIG Network API 审查人员已批准晋级为 Beta 版。
有关 Gateway API 版本控制的更多信息,请参阅官方文档。要了解未来版本的内容,请查看后续步骤部分。
发布渠道
此版本引入了实验性
(experimental)和标准
(standard)发布渠道,这使得在保持稳定性的同时,也能更好地支持实验和迭代开发。
标准
发布渠道包括
- 已晋级为 Beta 的资源
- 已晋级为标准的字段(不再被视为实验性)
实验性
发布渠道包括标准
发布渠道中的所有内容,外加
alpha
API 资源- 被认为是实验性且尚未晋级到
标准
渠道的字段
发布渠道在内部用于实现快速周转的迭代开发,在外部用于向实现者和最终用户表明功能稳定性。
在此版本中,我们添加了以下实验性功能:
其他改进
有关 v0.5.0
版本中包含的完整变更列表,请参阅 v0.5.0 版本说明。
用于服务网格的 Gateway API:GAMMA 计划
一些服务网格项目已经实现了对 Gateway API 的支持。服务网格接口(SMI)API 和 Gateway API 之间的显著重叠激发了 SMI 社区关于可能整合的讨论。
我们很高兴地宣布,服务网格社区,包括来自 Cilium Service Mesh、Consul、Istio、Kuma、Linkerd、NGINX Service Mesh 和 Open Service Mesh 的代表,正在共同组建 GAMMA 计划,这是 Gateway API 子项目内的一个专门工作流,专注于用于网格管理和行政的 Gateway API。
该小组将为网格和网格邻近的用例提供增强提案,包括对 Gateway API 规范的资源、增补和修改。
这项工作始于探索使用 Gateway API 进行服务间流量处理,并将继续在认证和授权策略等领域进行增强。
后续步骤
在我们继续为生产用例完善 API 的过程中,以下是我们将在下一个 Gateway API 版本中开展的一些重点工作:
- 用于 gRPC 流量路由的 GRPCRoute
- 路由委托
- 第 4 层 API 成熟度:将 TCPRoute、UDPRoute 和 TLSRoute 晋级为 Beta
- GAMMA 计划 - 用于服务网格的 Gateway API
如果此列表中有您想参与的项目,或者有您想倡导加入路线图但未在此列表中的项目,请在 Kubernetes Slack 的 #sig-network-gateway-api 频道或我们每周的社区电话会议中加入我们。