介绍

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

  1. Application:一组由清单定义的 Kubernetes 资源。这是一个自定义资源定义(CRD)。深入理解 Application
  2. ApplicationSet:一个支持 ApplicationSet CRD 的 Kubernetes 控制器,能够从单个模板批量生成 Applications。可以将其视为一个根据参数创建实例的 Application 工厂。深入理解 ApplicationSet
  3. Tool:指定 Application 源的配置管理工具(例如 Kustomize、Helm)。深入理解 Tool
  4. Sync:将应用程序的实时状态与其期望状态进行协调的过程(例如,将更改应用于 Kubernetes 集群)。深入理解 Sync
  5. Health:指示应用程序的操作状态,包括就绪性和服务请求的能力。深入理解 Health

目录

总结 Application 和 ApplicationSet 的区别

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

Argo CD 同步状态

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

参考资料