Gloo项目v1.18.4版本发布:增强网关功能与策略管理
Gloo是一个基于Envoy构建的云原生API网关,专注于为Kubernetes和传统应用提供灵活的路由和流量管理能力。作为一款开源项目,Gloo通过其声明式API和丰富的功能集,帮助开发者在混合云环境中轻松管理API和微服务通信。
本次发布的v1.18.4版本主要针对网关功能和策略管理系统进行了多项重要改进,这些增强使得Gloo在SSL配置、服务部署、路由委托和策略合并等方面提供了更强大的能力和更精细的控制。
核心功能增强
1. 增强的SSL/TLS配置选项
新版本扩展了GatewayTLSConfig的功能,增加了对SSL/TLS协议的精细控制能力。现在管理员可以配置:
- 支持的加密套件列表
- 最小和最大TLS版本
- 客户端证书验证机制
- 单向TLS支持
这些选项原本仅通过边缘API可用,现在被集成到核心配置中,使得安全团队能够更严格地控制网关的加密标准,满足不同合规性要求。
2. 服务端口高级配置
在Kubernetes服务部署方面,v1.18.4引入了Ports字段到GatewayParameters的Kube.Service规范中。这一改进允许管理员:
- 为网关服务指定静态NodePort
- 精确控制服务暴露的端口配置
- 定义更复杂的端口映射关系
这对于需要在特定端口上运行服务或需要固定NodePort的场景特别有价值,比如与某些网络策略或安全规则集成时。
3. 基于标签的路由委托机制
路由委托功能得到了显著增强,引入了一种新的基于标签的选择机制。通过使用特定格式的标签"delegation.gateway.solo.io/label= ",用户现在可以:
- 使用标签而非GVK引用来委托HTTP路由
- 支持通配符匹配
- 通过优化索引实现O(1)复杂度的路由查找
这种方法在灵活性和性能之间取得了良好平衡,特别适合大规模部署场景,其中可能有大量路由规则需要管理。
策略管理改进
1. 策略合并逻辑修复
v1.18.4修复了策略覆盖能力中的一个重要问题。在父子策略合并场景中,当使用非通配符字段的覆盖注解时,原先的逻辑会错误地阻止子策略设置父策略中未配置的字段。新版本确保:
- 子策略可以补充父策略中未设置的字段
- 覆盖注解仅影响那些确实需要被覆盖的字段
- 保持策略继承的预期行为
这一修复使得策略管理系统更加符合用户预期,特别是在复杂的策略层次结构中。
2. 外部流量策略配置
新增了通过Gateway Params配置网络服务External Traffic Policy的能力。这一功能让管理员可以:
- 控制流量如何在集群节点间分布
- 优化服务性能和资源利用率
- 根据网络拓扑调整流量路由行为
可观测性增强
在追踪功能方面,v1.18.4通过tracing API暴露了spawn_upstream_span设置。这一改进使得:
- 可以为每个上游请求生成独立的span
- 提供更细粒度的分布式追踪数据
- 便于分析服务间调用的性能瓶颈
依赖项更新
项目将Gateway API依赖从v1.2.0升级到了v1.2.1版本,确保与最新Kubernetes生态系统标准的兼容性,同时获得相关API的改进和修复。
总结
Gloo v1.18.4版本通过多项功能增强和质量改进,进一步巩固了其作为云原生API网关解决方案的地位。特别是在安全配置、路由管理和策略系统方面的改进,使得平台更加灵活和强大,能够满足企业级部署的严格要求。这些变化既考虑了开发者的易用性需求,也没有牺牲运维团队所需的控制力和可观测性。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考