首页
/ Envoy Gateway v1.3.0 版本深度解析:网络代理与流量管理的新篇章

Envoy Gateway v1.3.0 版本深度解析:网络代理与流量管理的新篇章

2025-06-25 19:09:51作者:江焘钦

Envoy Gateway 作为基于 Envoy 代理构建的 Kubernetes 原生 API 网关,旨在为云原生环境提供简单易用、高性能的流量管理解决方案。最新发布的 v1.3.0 版本带来了多项重要更新,涵盖了网络代理、安全增强、可观测性等多个关键领域,进一步巩固了其在云原生网关生态中的地位。

核心架构与设计理念

Envoy Gateway 采用了控制平面与数据平面分离的架构设计。控制平面负责将 Kubernetes 原生 API(如 Gateway API)转换为 Envoy 的 xDS 配置,而数据平面则由 Envoy 代理实例组成,负责实际流量处理。这种设计既保持了与 Kubernetes 生态的无缝集成,又充分利用了 Envoy 的高性能特性。

v1.3.0 版本中,架构得到了进一步优化,特别是在扩展性和稳定性方面。新增的扩展管理器支持更大的 gRPC 消息大小配置,为复杂场景下的扩展开发提供了更多灵活性。同时,系统现在能够更好地处理各种边缘情况,如端点优雅终止期间的流量处理等。

关键特性解析

增强的流量管理能力

  1. 响应压缩支持:新版本在 BackendTrafficPolicy 中增加了响应压缩功能,允许管理员对后端服务的响应进行压缩处理,显著减少网络传输量,特别适用于带宽敏感或移动端场景。

  2. 路由顺序保留:EnvoyProxy CRD 现在支持保留用户定义的 HTTPRoute 匹配顺序,这一改进使得路由规则的优先级控制更加直观和符合预期。

  3. 带成本的速率限制:BackendTrafficPolicy 中的速率限制功能得到了增强,新增了成本标识符支持,允许对不同请求设置不同的"成本"权重,实现更精细的流量控制。

  4. Gateway API 1.2 重试支持:完整实现了 GEP-1731 规范中的重试机制,为 HTTPRoute 提供了更强大的容错能力。

安全增强功能

  1. 客户端 IP 检测:ClientTrafficPolicy 新增了可信 CIDR 配置支持,使得基于源 IP 的访问控制更加灵活和精确。

  2. API 密钥认证:SecurityPolicy 中新增了 API 密钥认证支持,为服务提供了另一种轻量级的认证方式选择。

  3. 外部认证增强:现在可以向外部认证服务发送请求体内容,支持更复杂的认证逻辑实现。

  4. JWT 认证改进:支持通过 BackendCluster 配置远程 JWKS 设置,为分布式 JWT 验证提供了更好的支持。

  5. 后端 TLS 系统信任存储:BackendTLSPolicy 新增了对系统 WellKnownCACertificates 的动态重载支持,简化了证书管理流程。

可观测性与调试改进

  1. 跟踪采样率配置:EnvoyProxy CRD 新增了对跟踪采样率的精细控制,支持分数形式的采样率设置,帮助用户在跟踪开销和数据完整性之间取得平衡。

  2. 静态元数据传播:Gateway API 路由规则名称现在会作为 sectionName 传播到 XDS 元数据中,大大简化了调试和问题排查过程。

  3. 崩溃指标监控:新增了对 Envoy Gateway 控制平面崩溃的指标监控和仪表盘,提升了运维可见性。

性能优化与稳定性提升

v1.3.0 版本包含多项底层优化,显著提升了系统在复杂场景下的表现:

  1. 端点优雅终止处理:现在系统会继续使用并优雅排空处于终止状态的端点,直到它们完全停止服务,避免了服务中断。

  2. 高可用性改进:修复了连接到次要 Envoy Gateway 实例的代理无法接收 xDS 配置的问题,提高了控制平面的可用性。

  3. 流量分割健壮性:即使部分后端无效,流量分割功能也能继续工作,提高了系统的容错能力。

  4. IPv6 支持增强:全面改进了对 IPv6 和双栈集群的支持,包括修复了单栈 IPv6 部署在双栈集群上的就绪检查问题。

开发者与运维工具改进

  1. 基础设施自定义:EnvoyProxy CRD 新增了对 HPA 和 PDB 设置的修补支持,为运维人员提供了更灵活的自动扩展策略配置能力。

  2. 扩展性增强

    • EnvoyExtensionPolicy 支持在外部处理过滤器中配置属性、动态元数据和处理模式覆盖
    • Wasm 扩展支持注入主机环境变量
    • 扩展管理器支持配置最大 gRPC 消息大小
  3. 证书管理工具改进:certgen 命令新增了覆盖控制平面证书的选项,简化了证书轮换流程。

兼容性与升级注意事项

v1.3.0 版本包含了一些重要的破坏性变更,需要特别注意:

  1. 代理 Pod 模板变更:移除了网关实例容器的 ports 字段,升级时将导致网关 Pod 重建。

  2. TLS 默认行为变更:空的 TLS ALPNProtocols 列表现在会被视为用户显式禁用 TLS ALPN 扩展,而非使用默认值。

  3. 被动健康检查默认值:异常检测(被动健康检查)现在默认禁用,需要通过 BackendTrafficPolicy 显式配置。

  4. 扩展管理器故障处理:默认采用故障关闭(fail-closed)模式,扩展服务返回的任何错误都会导致受影响资源被替换为"内部服务器错误"响应。

  5. 翻译失败处理:ClientTrafficPolicy 和 BackendTLSPolicy 翻译失败时现在会返回 500 错误,而非静默失败。

版本依赖与组件更新

v1.3.0 版本同步更新了多个核心依赖:

  • Envoy 代理升级到 v1.33.0
  • Ratelimit 组件升级到最新提交
  • Gateway API 升级到 v1.2.1
  • 基础容器镜像改为 gcr.io/distroless/base-nossl:nonroot
  • 新增对 Kubernetes 1.32.x 的支持,移除了对 1.28.x 的支持

总结与展望

Envoy Gateway v1.3.0 通过引入多项新功能和改进,进一步提升了其在云原生网关领域的竞争力。特别是在安全增强、流量管理精细度和可观测性方面的改进,使得它能够更好地满足企业级应用的需求。

从技术架构角度看,这一版本体现了 Envoy Gateway 项目在保持简单易用特性的同时,不断向功能丰富性和生产就绪性迈进的决心。扩展系统的持续增强预示着未来生态的进一步繁荣,而稳定性和性能的优化则直接提升了生产环境中的可靠性。

对于考虑采用或升级到 v1.3.0 的用户,建议仔细评估破坏性变更的影响,特别是那些与安全默认值和故障处理模式相关的变更。同时,新版本提供的多项增强功能,如响应压缩、带成本速率限制等,都值得在适当的场景中进行探索和应用。

登录后查看全文

项目优选

收起
leetcodeleetcode
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
51
15
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
537
407
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
400
37
金融AI编程实战金融AI编程实战
为非计算机科班出身 (例如财经类高校金融学院) 同学量身定制,新手友好,让学生以亲身实践开源开发的方式,学会使用计算机自动化自己的科研/创新工作。案例以量化投资为主线,涉及 Bash、Python、SQL、BI、AI 等全技术栈,培养面向未来的数智化人才 (如数据工程师、数据分析师、数据科学家、数据决策者、量化投资人)。
Jupyter Notebook
51
55
CangjieMagicCangjieMagic
基于仓颉编程语言构建的 LLM Agent 开发框架,其主要特点包括:Agent DSL、支持 MCP 协议,支持模块化调用,支持任务智能规划。
Cangjie
582
41
Cangjie-ExamplesCangjie-Examples
本仓将收集和展示高质量的仓颉示例代码,欢迎大家投稿,让全世界看到您的妙趣设计,也让更多人通过您的编码理解和喜爱仓颉语言。
Cangjie
297
1.03 K
CS-BooksCS-Books
🔥🔥超过1000本的计算机经典书籍、个人笔记资料以及本人在各平台发表文章中所涉及的资源等。书籍资源包括C/C++、Java、Python、Go语言、数据结构与算法、操作系统、后端架构、计算机系统知识、数据库、计算机网络、设计模式、前端、汇编以及校招社招各种面经~
59
7
HarmonyOS-ExamplesHarmonyOS-Examples
本仓将收集和展示仓颉鸿蒙应用示例代码,欢迎大家投稿,在仓颉鸿蒙社区展现你的妙趣设计!
Cangjie
358
342
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
121
207
RuoYi-Cloud-Vue3RuoYi-Cloud-Vue3
🎉 基于Spring Boot、Spring Cloud & Alibaba、Vue3 & Vite、Element Plus的分布式前后端分离微服务架构权限管理系统
Vue
101
76