首页
/ Linkerd2 edge-25.3.1版本发布:网关API管理优化与协议声明支持

Linkerd2 edge-25.3.1版本发布:网关API管理优化与协议声明支持

2025-06-06 06:00:48作者:瞿蔚英Wynne

Linkerd是一个轻量级的服务网格解决方案,它通过透明的代理机制为Kubernetes集群中的微服务提供可靠性和可观测性。作为云原生计算基金会(CNCF)的毕业项目,Linkerd以其简单性和高性能著称。

本次发布的edge-25.3.1版本虽然被标记为"不推荐使用",但引入了一些重要的架构变更和功能增强,值得深入探讨。特别值得注意的是,该版本对Gateway API的管理方式进行了重大调整,并新增了对服务协议声明的支持。

网关API管理策略变更

edge-25.3.1版本对Gateway API CRDs的管理方式进行了重要调整,这标志着Linkerd开始逐步减少对这些CRD的直接管理。主要变化包括:

  1. 新增了installGatewayAPI参数,取代了原有的enableHttpRoutesenableTcpRoutesenableTlsRoutes等多个独立参数,简化了配置方式。

  2. 当执行linkerd install --crds命令时,如果检测到集群中已存在任何Gateway API CRD,Linkerd将不再安装这些CRD。这一变化使得Linkerd能够更好地适应已经部署了Gateway API的环境。

  3. 对于由Linkerd安装的Gateway API CRD,现在会自动添加helm.sh/resource-policy: keep注解。这个注解确保在升级过程中不会删除这些CRD,避免了服务中断的风险。

需要注意的是,当前版本存在一个已知问题:即使设置了enableHttpRoutes=false,HTTPRoute CRD仍会被安装。开发团队建议用户使用后续的edge-25.4.1版本,或者改用installGatewayAPI=false参数来避免这个问题。

服务协议声明支持

edge-25.3.1版本新增了对服务协议声明的支持,这是一个重要的功能增强。通过在Service的port定义中设置appProtocol字段,用户可以显式声明服务的协议类型,从而绕过Linkerd的协议检测机制。

例如:

  • 设置appProtocol: http将直接使用HTTP协议
  • 设置appProtocol: kubernetes.io/h2c将直接使用HTTP/2协议

这种显式声明的方式不仅提高了性能(避免了协议检测的开销),还增强了配置的明确性和可预测性。对于需要精确控制协议行为的场景特别有用。

传输模式增强

该版本还引入了outbound-transport-mode的新选项transport-header。当启用此模式时,Linkerd代理会将所有网格内流量复用到4143端口,而不是使用原始目标端口。这种设计可以简化网络配置,特别是在某些复杂的网络环境中。

其他改进

  1. 文档更新:修正了关于proxy-wait-before-exit-seconds参数的描述,使其与官方网站保持一致。

  2. 依赖项升级:包括tokio-rustls、bitflags、golang.org/x/net等多个核心依赖项的版本更新,提升了安全性和稳定性。

  3. 策略控制器改进:修复了当Gateway API未安装时可能出现的panic问题,增强了系统的健壮性。

总结

虽然edge-25.3.1版本存在一些已知问题(如IPv6支持不完善和Gateway API安装问题),但它引入的架构变更和功能增强为Linkerd的未来发展奠定了基础。特别是对Gateway API管理方式的调整,反映了Linkerd向更加模块化和灵活的方向发展。

对于生产环境用户,建议等待后续更稳定的版本。但对于希望提前体验新功能的开发者和技术爱好者,这个版本提供了观察Linkerd架构演进的窗口。服务协议声明的支持尤其值得关注,它为性能敏感型应用提供了更精细的控制能力。

随着服务网格技术的成熟,Linkerd继续在简化操作和提升性能方面做出努力,这些变化将最终惠及整个云原生生态系统。

登录后查看全文
热门项目推荐

项目优选

收起
openGauss-serveropenGauss-server
openGauss kernel ~ openGauss is an open source relational database management system
C++
136
186
RuoYi-Vue3RuoYi-Vue3
🎉 (RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue3 & Vite、Element Plus 的前后端分离权限管理系统
Vue
881
521
openHiTLSopenHiTLS
旨在打造算法先进、性能卓越、高效敏捷、安全可靠的密码套件,通过轻量级、可剪裁的软件技术架构满足各行业不同场景的多样化要求,让密码技术应用更简单,同时探索后量子等先进算法创新实践,构建密码前沿技术底座!
C
361
381
ohos_react_nativeohos_react_native
React Native鸿蒙化仓库
C++
182
264
kernelkernel
deepin linux kernel
C
22
5
nop-entropynop-entropy
Nop Platform 2.0是基于可逆计算理论实现的采用面向语言编程范式的新一代低代码开发平台,包含基于全新原理从零开始研发的GraphQL引擎、ORM引擎、工作流引擎、报表引擎、规则引擎、批处理引引擎等完整设计。nop-entropy是它的后端部分,采用java语言实现,可选择集成Spring框架或者Quarkus框架。中小企业可以免费商用
Java
7
0
CangjieCommunityCangjieCommunity
为仓颉编程语言开发者打造活跃、开放、高质量的社区环境
Markdown
1.09 K
0
note-gennote-gen
一款跨平台的 Markdown AI 笔记软件,致力于使用 AI 建立记录和写作的桥梁。
TSX
83
4
cherry-studiocherry-studio
🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端
TypeScript
613
60
open-eBackupopen-eBackup
open-eBackup是一款开源备份软件,采用集群高扩展架构,通过应用备份通用框架、并行备份等技术,为主流数据库、虚拟化、文件系统、大数据等应用提供E2E的数据备份、恢复等能力,帮助用户实现关键数据高效保护。
HTML
118
78