Linkerd2 edge-25.3.1版本发布:网关API管理优化与协议声明支持
Linkerd是一个轻量级的服务网格解决方案,它通过透明的代理机制为Kubernetes集群中的微服务提供可靠性和可观测性。作为云原生计算基金会(CNCF)的毕业项目,Linkerd以其简单性和高性能著称。
本次发布的edge-25.3.1版本虽然被标记为"不推荐使用",但引入了一些重要的架构变更和功能增强,值得深入探讨。特别值得注意的是,该版本对Gateway API的管理方式进行了重大调整,并新增了对服务协议声明的支持。
网关API管理策略变更
edge-25.3.1版本对Gateway API CRDs的管理方式进行了重要调整,这标志着Linkerd开始逐步减少对这些CRD的直接管理。主要变化包括:
-
新增了
installGatewayAPI参数,取代了原有的enableHttpRoutes、enableTcpRoutes和enableTlsRoutes等多个独立参数,简化了配置方式。 -
当执行
linkerd install --crds命令时,如果检测到集群中已存在任何Gateway API CRD,Linkerd将不再安装这些CRD。这一变化使得Linkerd能够更好地适应已经部署了Gateway API的环境。 -
对于由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端口,而不是使用原始目标端口。这种设计可以简化网络配置,特别是在某些复杂的网络环境中。
其他改进
-
文档更新:修正了关于
proxy-wait-before-exit-seconds参数的描述,使其与官方网站保持一致。 -
依赖项升级:包括tokio-rustls、bitflags、golang.org/x/net等多个核心依赖项的版本更新,提升了安全性和稳定性。
-
策略控制器改进:修复了当Gateway API未安装时可能出现的panic问题,增强了系统的健壮性。
总结
虽然edge-25.3.1版本存在一些已知问题(如IPv6支持不完善和Gateway API安装问题),但它引入的架构变更和功能增强为Linkerd的未来发展奠定了基础。特别是对Gateway API管理方式的调整,反映了Linkerd向更加模块化和灵活的方向发展。
对于生产环境用户,建议等待后续更稳定的版本。但对于希望提前体验新功能的开发者和技术爱好者,这个版本提供了观察Linkerd架构演进的窗口。服务协议声明的支持尤其值得关注,它为性能敏感型应用提供了更精细的控制能力。
随着服务网格技术的成熟,Linkerd继续在简化操作和提升性能方面做出努力,这些变化将最终惠及整个云原生生态系统。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0446
源启盛夏_AtomGit暑期开发者成长计划「源启盛夏」暑期校园开发者成长计划旨在激活校园开源力量,通过积分激励、认证扶持、资源倾斜等形式,引导高校组织和开发者完成「入驻 — 建项目 — 做贡献 — 获认证 — 得资源」的完整闭环。无论你是想带领社团入驻平台的组织者,还是希望用代码贡献证明自己的开发者,都能在这里找到属于你的成长路径。Markdown00
jiuwenswarmJiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。Python0765
Hy3Hy3 是由腾讯混元团队研发的快慢思考融合的混合专家模型,总参数量 295B,激活参数 21B,MTP 层参数 3.8B。4 月底发布 Hy3 Preview 后,我们在 50 多个业务中获得了广泛的反馈,修复了各种体验问题,进一步提升了后训练的质量和规模。今天,我们发布 Hy3。它展现出显著强于同尺寸并比肩旗舰(参数规模往往是 Hy3 的 2~5 倍)开源模型的智能水平,显著提升了在各类产品和生产力任务中的实用价值。Python00
AscendNPU-IRAscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优C++0311
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00