Argo相关概念
Argo生态-相关服务
1. Argo CD (argocd-apps):
- 作用:GitOps 部署工具
- 主要功能:
- 把 Git 仓库作为唯一事实来源(Source of Truth)
- 持续同步 Git 里的 Kubernetes 配置到集群(多集群、多环境都能管)
- 支持可视化界面、RBAC、单点登录、多租户管理
- 场景:自动化应用交付,保证集群中的配置和 Git 中声明的一致。
2. Argo Rollouts:
- 作用:渐进式交付(Progressive Delivery)
- 主要功能:
- 提供 Canary(金丝雀发布)、Blue-Green、渐进流量切分、A/B 测试等策略
- 可以和 Ingress Controller / Service Mesh (Nginx, Istio, Linkerd, SMI) 集成
- 提供回滚和可视化发布状态
- 场景:替代 Deployment,控制应用的灰度发布、AB 测试、蓝绿切换。
3. Argo Events:
- 作用:事件驱动自动化框架
- 主要功能:
- 通过 事件源(EventSource) 监听各种事件(Kafka、NATS、GitHub Webhook、S3、Webhook、Cron 等)
- 触发 传感器(Sensor),从而执行下游的 Workflow、Rollout、K8s Job 等操作
- 场景:CI/CD 里做 事件触发,比如 Git push → 自动触发构建流水线。
4. Argo Workflows:
- 作用:Kubernetes 原生的工作流引擎(批处理、DAG、数据处理)
- 主要功能:
- 可以定义 多步骤任务 / DAG 依赖,任务以容器的方式运行
- 天然支持 并行计算、分布式任务、数据处理
- 适合 大规模批处理、ML 训练、ETL 流程
- 场景:数据处理任务、ML Pipeline、CI/CD Build 流程编排。
5. argocd-apps(Argo CD App of Apps pattern)
- 作用:Argo CD 的应用编排模式
- 主要功能:
- 把 多个 Application 定义在一个 ApplicationSet / App-of-Apps 里
- 方便统一管理多环境、多服务的 Argo CD 应用
- 场景:
- 管理一个大仓库里的多个微服务
- 环境差异化配置(dev/staging/prod)
- 多集群批量部署
本文由作者按照
CC BY 4.0
进行授权