文章

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 进行授权