Argo Workflows 4.0 现已正式发布。本次更新带来了 24 项新功能,122 个问题修复,包含大量易用性、安全性和性能的提升,使得运行大规模流水线比以往更简单。无论你是在编排 AI/ML 工作流、扩展数据流水线,还是跨多集群驱动 CI/CD,4.0 的新功能都能让你更快更安全地创建和编排工作流。
![]()
Argo Workflows 4.0 亮点
- 以插件形式支持 Artifact 驱动
- CLI 改进 —— 包括信号量(semaphore)创建功能
- 完整 CRD 支持校验
- 弃用单数同步原语(mutex、semaphore、schedule)
主要更新内容
Artifact 驱动插件
编写 gRPC 服务器作为 artifact 驱动,打包为容器镜像后接入 Argo。上传和下载可以对接任何你实现的仓库。
CRD 校验规则
基于 CEL 的验证被加入到完整 CRD 中,能在错误进入集群前被捕获。限制范围符合 Kubernetes CEL 预算(如每个工作流最多 200 个模板,最多 500 个参数)。
弃用单数同步原语
移除了单数的 mutex、semaphore 和 CronWorkflow 的 schedule 字段;请使用 3.6 版本开始引入的复数形式。
归档工作流支持名称过滤
新增 nameFilter 参数(prefix * contains * exact),支持对归档工作流进行与活跃工作流相同的搜索。
总并发数实时更新
修改 workflow-controller-configmap 后立即生效,无需重启控制器。
OIDC SSO 支持自定义 CA 证书
支持内联或路径配置自签名或私有 CA 证书,实现安全连接非公有身份提供者。
默认禁用写回 informer
避免意外的控制器行为,虽然会稍微增加 409 冲突,但整体稳定性提升。
扩展的 field-selector 支持
现在支持 metadata.name= 和 metadata.name!=,表达能力与 Kubernetes 原生 selector 等同。
支持上下文感知的结构化日志
日志中全链路携带工作流 ID,排查问题更容易。
新功能必须有文档说明
每个新功能需附带 .features/pending 文件,描述用户可见的影响,方便发布说明和博客生成。
UI 改进
- 删除 CronWorkflow 时弹窗确认,提示删除会同时清理生成的工作流。
- WorkflowTemplates UI 中标签查询与 URL 参数同步,跟 Workflows 列表行为保持一致。
- 新增“名称不等于”过滤器,支持列表视图直接排除指定名称工作流。
- 自定义链接的 target 处理,target: _blank 新开标签页,target: _self 保持当前标签。
- 归档工作流翻页性能提升,使用 LIMIT 查询替代全表扫描,明显加快大数据量查询。
CLI 改进
- 从 CLI 创建 ConfigMap 支持的信号量,无需手写 YAML。
- CLI 支持创建数据库存储的信号量,支持外部存储后端。
argo convert 命令自动迁移现有工作流到 v4.0 模式:将 schedule 调整到 schedules 字段,单一同步原语改为复数,并执行 lint 检查。