Argo CD 介绍
Argo CD 是一款非常流行的开源 GitOps 工具。使用 Argo CD 需了解如下核心概念:
- Application:是一个声明式、自定义的 Kubernetes 资源(CRD),用于定义应用程序的期望状态。 深入理解 Application
- ApplicationSet:是一个 Kubernetes 控制器,它添加了对 ApplicationSet Custom Resource Definition (CRD) 的支持。它允许您使用一个模板来生成多个 Application。ApplicationSet 可以看作是一个 Application 的工厂,它可以根据不同的参数生成多个 Application 实例。深入理解 ApplicationSet
- Tool:用于指定 Application 源的配置管理工具,例如 Kustomize。深入理解 Tool
- Sync:同步,使应用程序趋于其目标状态的过程,例如通过将更改应用于 Kubernetes 集群。深入理解 Sync
- Health:健康状态,用于指示 Argo CD 应用程序的操作状态,包括就绪性和服务请求的能力。深入理解 Health
总结 Application 和 ApplicationSet 的区别
属性 | Application | ApplicationSet |
---|
定义 | 单个应用程序的部署和配置 | 用于生成多个 Application 实例的模板 |
配置 | 静态 YAML 定义 | 动态参数驱动的模板生成 |
部署 | 部署单个应用程序 | 部署多个相似的应用程序 |
适用场景 | 简单的单环境部署 | 复杂的多环境/集群部署,需要使用参数化实例 |
核心概念 | Git 仓库、目标集群、部署策略 | 生成器、模板、参数、占位符 |
与 Argo CD 的关系 | 基本的部署单元 | 高级的批量管理层 |
Argo CD 状态说明
同步状态 | 说明 |
---|
Synced | Application 的实时状态与期望状态完全一致。 |
OutOfSync | 实时状态与期望状态不一致,需要进行同步。 |
Syncing | 正在进行主动同步,实时状态正在向期望状态靠拢。 |
参考资料