架构概述

查看本文大纲
image
Argo CD 架构

组件

API 服务器

API 服务器是一个 gRPC/REST 服务器,用于公开 Web UI、CLI 和 CI/CD 系统使用的 API。它具有以下职责:

  • 应用程序管理和状态报告
  • 调用应用程序操作(例如同步、回滚、用户定义的操作)
  • 存储为 K8s 机密的存储库和集群凭据管理
  • 身份验证和身份验证委派到外部身份提供者
  • RBAC 执行
  • Git webhook 事件的侦听器/转发器

存储库服务器

存储库服务器是一个内部服务,它维护 Git 存储库的本地缓存,其中包含应用程序清单。它负责在提供以下输入时生成并返回 Kubernetes 清单:

  • 存储库 URL
  • 修订版(提交、标记、分支)
  • 应用程序路径
  • 模板特定设置:参数、helm values.yaml

应用程序控制器

应用程序控制器是一个 Kubernetes 控制器,它不断监视运行中的应用程序,并将当前的实时状态与期望的目标状态(如 repo 中指定的)进行比较。它检测 OutOfSync 应用程序状态,并可选择采取纠正措施。它负责调用任何用户定义的生命周期事件钩子(PreSync、Sync、PostSync)

最后更新于 2024/12/03