Istio 1.19 的新特性:Gateway API 及更多 - Tetrate

作者:API传播员 · 2025-12-07 · 阅读时间:5分钟
Istio 1.19 引入了 Gateway API 作为核心功能,支持南北向和东西向流量管理,简化了 Kubernetes 服务网格配置。环境网格增强了对 ServiceEntry 和 WorkloadEntry 的支持,同时优化了虚拟机和多集群体验,提升了安全性和操作效率。长尾关键词包括 Gateway API for Service Mesh 和 Istio 1.19 新特性。

网关 API:服务网格的革命

在之前的博客中,我们曾强调 Gateway API 在 Kubernetes 和服务网格中协调入口网关的潜力,这为跨命名空间流量支持打开了新的大门。在 Istio 的官方支持下,Gateway API 成为了核心功能。虽然传统上它主要用于南北向流量(网格的入口和出口),但现在它的能力已扩展到东西向流量领域,这是服务网格内部通信的关键。

在 Kubernetes 中,服务承担了多种任务,包括服务发现、DNS、工作负载选择、路由和负载均衡。然而,这些功能的控制能力有限,工作负载选择是一个例外。Gateway API 的引入改变了这一局面,使用户能够更好地掌控服务路由。它与 Istio 的 VirtualService 存在一定的功能重叠,因为两者都对流量路由产生影响。以下是三种典型场景:

  1. 内部 Kubernetes 请求:如果没有 Istio,Kubernetes 内部的所有流量都通过服务路由。
  2. 南北向流量:通过将 Gateway API 应用于 Ingress 网关,Kubernetes 的传入流量可以遵循 xRoute(目前支持 HTTPRoute、TCPRoute 和 gRPCRoute)到达目标服务。
  3. 东西向流量:在 Istio 内部,当流量进入数据平面时,Gateway API 的 xRoute 负责将流量引导到目标服务。

Gateway API 与 Istio 的动态融合,不仅完善了服务网格的功能,还进一步巩固了 Istio 在 Kubernetes 生态系统中的重要地位。


用于服务网格的 Gateway API:深入探讨

目前,Gateway API for Service Mesh 处于实验阶段(从 v0.8.0 开始),它为配置 Kubernetes 中的服务网格支持提供了一种全新的方法。通过直接将单个路由资源(如 HTTPRoute)与服务资源关联,简化了配置流程。

以下是一些关键要点:

  • 实验阶段:从 v0.8.0 版本起,服务网格的 Gateway API 仍处于实验阶段,不建议在生产环境中使用。
  • 服务和路由关联:与传统的网关和网关类资源不同,Gateway API 允许单个路由资源直接与服务资源关联。
  • **服务的后端由其端点 IP 集合组成。这种区分有助于在网格内实现高效路由,而无需引入冗余资源。
  • 路由附加到服务:路由被附加到服务上,以便将配置应用于指向该服务的所有流量。如果没有附加路由,流量将遵循网格的默认行为。
  • 命名空间关系
    • 同一命名空间:与服务位于同一命名空间的路由被称为生产者路由,通常由工作负载创建者定义,用于设定可接受的使用规则。
    • 不同命名空间:与服务位于不同命名空间的路由被称为消费者路由,用于细化消费者如何发出请求。此类路由仅影响来自同一命名空间的请求。

此外,单个命名空间中同一服务的多个路由(无论是生产者路由还是消费者路由)将根据 Gateway API 的路由合并规则进行合并。因此,在同一命名空间中为多个消费者定义不同的消费者路由是不可能的。

请求流的处理流程如下:

  1. 客户端工作负载发起对命名空间中特定服务的请求。
  2. 网格数据平面拦截请求并识别目标服务。
  3. 根据相关路由规则,请求被允许、拒绝或转发到适当的工作负载。

需要注意的是,Gateway API for Service Mesh 在实验阶段可能会发生进一步的变更,因此不建议在生产环境中使用。


环境网格的增强

Istio 团队一直致力于改进环境网格(Ambient Mesh),这是一种创新的部署模型,为传统的 Sidecar 模式提供了替代方案。如果您尚未了解环境网格,现在是阅读相关介绍的最佳时机。

在此次更新中,环境网格对以下功能的支持得到了扩展:

  • ServiceEntry
  • WorkloadEntry
  • PeerAuthentication
  • DNS 代理

此外,还修复了多个错误并增强了可靠性,确保用户能够获得更流畅的体验。需要注意的是,环境网格目前仍处于 Alpha 阶段,Istio 社区期待用户的反馈,以推动其向 Beta 版本发展。


简化的虚拟机和多集群体验

在虚拟机和多集群设置中,简化操作至关重要。在此版本中,WorkloadEntry 资源的地址字段被设置为可选。这一小改动显著简化了用户的工作流程,使配置更加高效。


增强的安全配置

Istio 1.19 在安全配置方面也进行了重要改进:

  • 允许为 Istio 入口网关的 TLS 设置配置 OPTIONAL_MUTUAL,提供了可选客户端证书验证的灵活性。
  • 通过 MeshConfig 调整非 Istio mTLS 流量的首选密码套件。

这些更新为用户提供了更大的控制力和灵活性,同时进一步提升了服务网格的安全性。


通过 Istio 1.19 的这些新特性和增强功能,用户在管理服务网格时将拥有更强大的工具和更高的效率。无论是 Gateway API 的引入,还是环境网格的改进,都为服务网格的未来发展奠定了坚实基础。

原文链接: https://tetrate.io/blog/whats-new-in-istio-1-19-gateway-api-and-beyond/