ArgoCD基本组件

ArgoCD有5个基本组件,

bash 复制代码
$ kubectl get po -n argocd
NAME                                 READY   STATUS    RESTARTS   AGE
argocd-application-controller-0      1/1     Running   0          19h
argocd-dex-server-767fb49f59-7rxn7   1/1     Running   0          19h
argocd-redis-65d6b6b4ff-29g6v        1/1     Running   0          19h
argocd-repo-server-67bf4499f-qnjwd   1/1     Running   0          19h
argocd-server-5c47bf87d-2dbbw        1/1     Running   0          19h

1.argocd-server:

提供 ArgoCD 服务的主要组件,是一个 gRPC/REST 服务器,提供 Web UI、CLI 和 CI/CD 系统所需的 API。它通过 API 与客户端通信,并处理来自 Git 存储库的声明性配置。argocd-server 还负责与 Kubernetes API 服务器通信,以将声明的状态与实际状态保持同步。

2. argocd-repo-server:

用于在 ArgoCD 中提供 Git 存储库的服务,负责维护 Git 仓库的本地缓存,其中保存着应用程序清单。它允许 ArgoCD 通过 HTTP 或 HTTPS 访问存储库,并从中读取或生成 Kubernetes 资源的声明性配置。

3. argocd-application-controller:

负责应用资源的状态同步。它是一个 Kubernetes 控制器,持续监视运行中的应用程序,并将当前实际状态与期望的目标状态(在仓库中指定)进行比较。当它检测到不符合预期的应用程序状态,会调用 Kubernetes API 以创建、更新或删除资源,以确保它们与声明的状态保持一致。同时它还负责调用用户定义的钩子以进行生命周期事件(PreSync、Sync、PostSync)的管理。

4. argocd-dex-server:

负责处理用户身份验证和授权。ArgoCD 使用 Dex 进行身份验证,可以集成多种身份提供者(如 GitHub、LDAP 等)。argocd-dex-server 管理用户和团队的身份,并生成用于与 argocd-server 通信的令牌。

5. argocd-redis:

用于缓存和存储 ArgoCD 的状态信息。由于 argocd-server 可能会频繁地与 Kubernetes API 服务器通信,使用缓存可以提高性能并减轻对 API 服务器的负载。


参考文档:

  1. https://argo-cd.readthedocs.io/en/stable/operator-manual/architecture/
相关推荐
羊羊羊i2 天前
通过Crossplane使用K8sYAML格式的API接口,创建虚拟云资源,同时利用ArgoCD达到GitOps效果
容器·kubernetes·argocd
一条闲鱼_mytube4 天前
CI/CD: K8S + Tekton + ArgoCD 深入浅出完全指南
大数据·argocd
一条闲鱼_mytube4 天前
CI/CD: Argo 深入浅出教程
大数据·elasticsearch·argocd
庸子7 天前
告别手动运维:Kustomize 与 ArgoCD 构建的 GitOps 体系
运维·kubernetes·argocd
Empty_77714 天前
ArgoCD概述
argocd
Selegant18 天前
Kubernetes + Helm + ArgoCD:打造 GitOps 驱动的 Java 应用交付流水线
java·kubernetes·argocd
海鸥8120 天前
in argocd ‘/tmp/_argocd-repo/../.git/index.lock‘: No space left on
git·argocd
聊天QQ:688238861 个月前
MATLAB多变量最小二乘辨识
argocd
小白不想白a1 个月前
ArgoCD第一课--概念理解
argocd
b***74882 个月前
2025年前端开发新方向预测
剪枝·activemq·argocd