K8s 暴露服务的新方法 Gateway API 详解,它有什么好处?
前段时间,Kubernetes SIG-Network 发布了备受期待的 Gateway API 0.5.0 版。主要组件的 Api 正在升级到 beta (v1beta1),这意味着我们很快就会看到更多使用这些原语的项目。
让我们回顾一下 Gateway API 的基础知识,它旨在解决什么,它有什么好处。
什么是 K8s Gateway API?
Gateway API 是新的官方 Kubernetes 资源的集合,它们定义了由供应商实现的规范,类似于 Ingress 由 Google、Amazon 等实现的方式。
它引入的新资源有:
-
Gateway( beta )
-
GatewayClass ( beta )
-
HTTPRoute ( beta )
-
ReferenceGrant(仍处于 alpha 阶段,替换 ReferencePolicy )
-
TCPRoute(仍处于 alpha 阶段)
-
TLSRoute(仍处于 alpha 阶段)
-
UDPRoute(仍处于 alpha 阶段)
SIG-Network 所述的新Gateway API的目标是:
-
面向角色:Gateway 由 API 资源组成,这些 API 资源对使用和配置 Kubernetes 服务网络的组织角色进行建模。
-
便携:这不是一种改进,而是应该保持不变的东西。正如 Ingress 是一个具有多种实现的通用规范一样,Gateway API 被设计为一种可移植的规范,由许多实现支持。
-
富有表现力: Gateway API 资源支持诸如基于
header
的匹配、流量加权和其他核心功能,这些功能只能通过自定义注释在 Ingress 中实现。 -
可扩展:Gateway API 允许在 API 的各个层链接自定义资源。这使得在 API 结构中的适当位置进行细粒度定制成为可能。