Argo CD 介绍

Argo CD 是一款非常流行的开源 GitOps 工具。使用 Argo CD 需了解如下核心概念:

  1. Application:是一个声明式、自定义的 Kubernetes 资源(CRD),用于定义应用程序的期望状态。 深入理解 Application
  2. ApplicationSet:是一个 Kubernetes 控制器,它添加了对 ApplicationSet Custom Resource Definition (CRD) 的支持。它允许您使用一个模板来生成多个 Application。ApplicationSet 可以看作是一个 Application 的工厂,它可以根据不同的参数生成多个 Application 实例。深入理解 ApplicationSet
  3. Tool:用于指定 Application 源的配置管理工具,例如 Kustomize。深入理解 Tool
  4. Sync:同步,使应用程序趋于其目标状态的过程,例如通过将更改应用于 Kubernetes 集群。深入理解 Sync
  5. Health:健康状态,用于指示 Argo CD 应用程序的操作状态,包括就绪性和服务请求的能力。深入理解 Health

总结 Application 和 ApplicationSet 的区别

属性ApplicationApplicationSet
定义单个应用程序的部署和配置用于生成多个 Application 实例的模板
配置静态 YAML 定义动态参数驱动的模板生成
部署部署单个应用程序部署多个相似的应用程序
适用场景简单的单环境部署复杂的多环境/集群部署,需要使用参数化实例
核心概念Git 仓库、目标集群、部署策略生成器、模板、参数、占位符
与 Argo CD 的关系基本的部署单元高级的批量管理层

Argo CD 状态说明

同步状态说明
SyncedApplication 的实时状态与期望状态完全一致。
OutOfSync实时状态与期望状态不一致,需要进行同步。
Syncing正在进行主动同步,实时状态正在向期望状态靠拢。

参考资料