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