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/
相关推荐
研究司马懿10 天前
【ETCD】ETCD——confd配置管理
数据库·golang·自动化·运维开发·etcd·argocd·gitops
研究司马懿11 天前
【ETCD】ETCD单节点二进制部署(TLS)
数据库·chrome·云原生·运维开发·etcd·argocd·gitops
老年DBA16 天前
Kubernetes 上的 GitLab + ArgoCD 实践(三):使用 ArgoCD 打通 CD 流程
kubernetes·gitlab·argocd
老年DBA22 天前
Kubernetes 上的 GitLab + ArgoCD 实践(二):使用自建 GitLab Runner 完善 CI 流程
kubernetes·gitlab·argocd
研究司马懿1 个月前
【GitOps】Argo CD app of apps
大数据·开发语言·elasticsearch·搜索引擎·云原生·argocd·gitops
虫师c2 个月前
GitOps实战:ArgoCD+Tekton打造云原生CI/CD流水线
git·ci/cd·云原生·kubernetes·argocd·tekton
hello_2502 个月前
GitOps:一种实现云原生的持续交付模型
架构·argocd
谭咏麟4 个月前
Argo CD持续交付工具部署
kubernetes·argocd·cicd
hwj运维之路4 个月前
GitOps实践指南:GitLab CI/CD + ArgoCD 实现 Kubernetes 自动化部署
ci/cd·gitlab·argocd
被一米六支配的恐惧5 个月前
argocd部署cli工具并添加k8s集群
docker·kubernetes·argocd