Istio 1.19 的新特性:Gateway API 及更多 - Tetrate
网关 API:服务网格的革命
在之前的博客中,我们曾强调 Gateway API 在 Kubernetes 和服务网格中协调入口网关的潜力,这为跨命名空间流量支持打开了新的大门。在 Istio 的官方支持下,Gateway API 成为了核心功能。虽然传统上它主要用于南北向流量(网格的入口和出口),但现在它的能力已扩展到东西向流量领域,这是服务网格内部通信的关键。
在 Kubernetes 中,服务承担了多种任务,包括服务发现、DNS、工作负载选择、路由和负载均衡。然而,这些功能的控制能力有限,工作负载选择是一个例外。Gateway API 的引入改变了这一局面,使用户能够更好地掌控服务路由。它与 Istio 的 VirtualService 存在一定的功能重叠,因为两者都对流量路由产生影响。以下是三种典型场景:
- 内部 Kubernetes 请求:如果没有 Istio,Kubernetes 内部的所有流量都通过服务路由。
- 南北向流量:通过将 Gateway API 应用于 Ingress 网关,Kubernetes 的传入流量可以遵循 xRoute(目前支持 HTTPRoute、TCPRoute 和 gRPCRoute)到达目标服务。
- 东西向流量:在 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 的路由合并规则进行合并。因此,在同一命名空间中为多个消费者定义不同的消费者路由是不可能的。
请求流的处理流程如下:
- 客户端工作负载发起对命名空间中特定服务的请求。
- 网格数据平面拦截请求并识别目标服务。
- 根据相关路由规则,请求被允许、拒绝或转发到适当的工作负载。
需要注意的是,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/
最新文章
- 如何在移动应用上进行API测试 – Mobot应用测试平台
- 移动应用API测试 | 如何使用Testsigma进行测试?
- Java API:定义、包、类型及示例详解
- 在 Power Apps 中使用 Web API 的挑战 – CloudThat
- 7 个创新的照片编辑 API
- 2025 Web Agent RPA 2.0|浏览器自动化场景落地路径与开源代码仓库
- 构建高效API的10个API设计最佳实践
- 针对API漏洞挖掘技巧学习
- Python实现免费百度天气API调用,获取最新实时天气数据
- 如何监控 Kubernetes API Server – Sysdig
- python并行组合生成原理及实现
- 终极对决:KimiGPT与GLM-4文本生成模型API深度比较