Argo CD v3.2 发布候选版
Argo CD v3.2 RC 现已发布,带来了一系列新功能和关键的 bug 修复。重要提示: Argo CD v2.x 在 Argo CD v3.2 正式发布后将不再支持。
新版本的一些更新亮点如下:
GitOps Promoter 新增健康检查
此 PR 为 GitOps Promoter 资源增加了全面的健康检查,提升了 Argo CD 中推广工作流的监控和稳定性。
新增的健康检查覆盖了多种 GitOps Promoter 自定义资源定义(CRD),如 CommitStatus、PullRequest、PromotionStrategy 和 ChangeTransferPolicy,提供详细的运行时状态,帮助用户更好地诊断和维护推广流水线。
Progressive Sync 新增删除策略
在 Argo CD v3.2 RC 中,Progressive Sync 支持为通过 ApplicationSet 部署的应用配置删除策略。此前删除操作都是同时进行的,所有应用并行删除,且无顺序。默认行为保持不变,但新增了 Reverse 选项。启用后,应用会按照部署时的逆序删除,确保每个应用完全删除后再删除下一个,这对依赖特定拆卸顺序的工作负载特别有用。
举例来说,如果你用 Progressive Sync 以特定顺序部署应用,现在通过 deletionOrder 字段可以控制删除顺序:
apiVersion: argoproj.io/v1alpha1kind:ApplicationSetmetadata:name:sample-appsetspec:strategy: type:RollingSync rollingSync: steps: -matchExpressions: -key:environment operator:In values:["dev"] -matchExpressions: -key:environment operator:In values:["staging"] deletionOrder:Reverse
例中应用先部署到 dev,再到 staging。开启 deletionOrder: Reverse 后,Argo CD 会先删除 staging,再删除 dev,保证拆卸过程安全且依赖顺序正确。默认的 AllAtOnce 会导致两个环境同时删除,可能引发依赖问题。
Hydrator 改进
本次发布包含多项 hydrator 改进,部分亮点如下:
- 支持为 source hydrator 的提交信息模板化
- 为 hydrator 写入凭据提供模板支持
- 保留未被 hydration 处理的文件(贡献者:Nitish Kumar (Akuity))
- 并行调用 repo server,为同一目标分支的一组应用生成清单(贡献者:Michael Crenshaw (Intuit))
- 以及更多改进……
Pull Request Generator 新增标题匹配过滤
Argo CD v3.2 为 ApplicationSet 的 Pull Request Generator 增加了按 PR 标题匹配的功能。用户可以基于 PR 标题字符串定义过滤条件,不再仅限于分支名字。这提升了针对 PR 标题携带重要上下文或命名规则(如发布类型、工单号、自动升级机器人等)的工作流灵活性。
Argo CD CLI 支持服务器端 Diff
此 PR 为 Argo CD CLI 新增了服务器端 diff 计算功能。通过新增的 --server-side-diff 参数,用户可利用 Kubernetes API 服务器的 dry-run apply 来执行 diff 操作,获得更准确、更贴近集群实际应用行为的比较结果。
该功能兼容客户端和服务器端清单生成,支持自定义资源类型,并为预览本地清单变更等高级工作流提供一致输出。
其他重要更新
- 实现 Altinity clickhouse-operator CRD 健康检查
- 支持将认证用户 ID 作为 Header 传递给扩展
- 从环境变量获取提交服务器 URL
- 优化 Argo CD 开发者指南
- 修复 hydrator 中不同格式仓库 URL 归一化问题
- 暴露
ARGOCD_SYNC_WAVE_DELAY作为可配置参数(Kai Udo) - ……
详情可查看:https://blog.argoproj.io/argo-cd-v3-2-release-candidate-4c939b63d9c4
