
Argo 项目宣布发布 Argo CD v3.1,这是自基础版 v3.0 发布以来的首次重大功能更新。这个版本引入了 OCI 注册表支持、CLI 插件、增强的 Hydrator 功能和改进的用户界面,使这款 GitOps 工具能够更广泛地应用于企业环境。
v3.1 中新增的最重要的功能是原生支持将 Open Container Initiative (OCI) 注册表作为 Kubernetes 配置工件源。这一功能是由 Akuity 的 Blake Pettersson 领导完成的,它允许组织使用与容器镜像相同的注册表来存储和分发部署配置。
公告中写道,“随着 OCI 注册表越来越多地被用来存储除容器镜像之外的内容,越来越多的项目开始支持使用 OCI 作为存储机制”。这样,对于任何遵循镜像和分发规范并且兼容 OCI 的注册表, Argo CD 都能够从中拉取打包为 OCI 工件的 Kubernetes 清单。这增强了安全性和可移植性,也契合了行业的发展趋势,即使用 OCI 注册表作为通用工件仓库,超越了它们传统上作为容器镜像存储的角色。
在 v3.1 中,Hydrator 组件有了显著的改进,特别是在提交关联能力方面。新功能允许 Hydrator 通过捕获存储库 URL、提交 SHA 哈希、作者信息和提交消息,将 dry 提交与上游代码提交关联起来。这一元数据增强由 Intuit 的 Crenshaw 所贡献,未来的 UI 改进将能够显示更丰富的配置更改上下文。该功能解决了 GitOps 工作流中的一个常见痛点:清单变更往往只是对应代码变更的简单镜像标签更新,导致难以追溯应用程序代码与部署配置之间的关联关系。
鉴于 Kubernetes 社区正向服务器端 apply 迁移,v3.1 引入了客户端 apply 迁移能力。这一功能可以帮助组织将现有资源从 kubectl 客户端 apply 迁移到 Argo CD 的服务器端 apply 管理。迁移支持包括通过注解指定自定义字段管理器,在从弃用的 operator 或工具迁移到 Argo CD 管理时,这特别有价值。
该版本在 UI 中引入了新的参数化操作,增强了 Argo CD 作为综合性 Kubernetes 仪表板的地位。现在,用户可以直接从界面扩展部署和有状态集,而无需修改配置文件或使用 kubectl 命令。这一功能是专门为非技术用户设计的,使他们不必具备深厚的 Kubernetes 专业知识就可以进行操作。用户界面改进涵盖了 ApplicationSet Progressive Sync 功能增强,为该功能在未来版本中进入 Beta 发布做好准备。

从 Argo CD UI 扩展资源
遵循 Kubernetes 的 kubectl 插件模型,v3.1 为 argocd 命令行工具引入了 CLI 插件支持。这一可扩展性功能允许组织创建能与 Argo CD CLI 无缝集成的自定义命令,实现特定于工作流的自动化和工具。
该版本包括多项便利性改进,包括应用程序的显式自动同步配置,以及可将 SkipDryRunOnMissingResource 设置为应用程序的同步选项而不需要使用注解。
平台更新包括在所有构建和 CI 流程中采用 Go 1.24.4,并升级了一些主要的库,包括 google/go-github v69、Azure DevOps Go API v7 ,增强了 GitHub Actions 安全范围。
感兴趣的读者可以在项目的 GitHub 页面上查看完整的发布说明。
Argo CD v3.1 的发布正值 GitOps 市场持续成熟之际,其主要开源竞争对手仍然是 Flux CD 。尽管这两个工具都服务于 GitOps 范式,但它们在架构方法上有很大的不同。作为一组松耦合的控制器,Flux 遵循 Kubernetes operator 模式,而 Argo CD 则提供了更为集中化的仪表板体验。Argo CD 中新增的 OCI 支持使其更趋近于 Flux —— 后者自 2021 年以来便通过其源控制器支持 OCI 工件。然而在企业环境中,凭借全面的用户界面和多租户特性,Argo CD 仍然具有显著的优势,尤其是在可视化管理和基于角色的访问控制成为优先考量事项时。
声明:本文为 InfoQ 翻译,未经许可禁止转载。
原文链接:
https://www.infoq.com/news/2025/08/argocd-oci-support-new-ui/
评论