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继续在简化操作和提升性能方面做出努力,这些变化将最终惠及整个云原生生态系统。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C046
MiniMax-M2.1从多语言软件开发自动化到复杂多步骤办公流程执行,MiniMax-M2.1 助力开发者构建下一代自主应用——全程保持完全透明、可控且易于获取。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C01
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0124
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00