当前位置: 首页 > article >正文

ArgoCD基本组件

ArgoCD有5个基本组件,

$ 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/

http://www.kler.cn/a/146873.html

相关文章:

  • Diff 算法的误判
  • java语言特性(持续更新)
  • 01_MinIO部署(Windows单节点部署/Docker化部署)
  • Django5 2024全栈开发指南(二):Django项目配置详解
  • Linux :进程间通信之管道
  • 【代码pycharm】动手学深度学习v2-05 线性代数
  • 基于Hadoop的区块链海量数据存储的设计与实现
  • 【开源】基于Vue和SpringBoot的食品生产管理系统
  • vr小鼠虚拟解剖实验教学平台减少了受感染风险
  • 【华为OD题库-038】支持优先级的对列-java
  • CountDownLatch和CyclicBarrier源码详解
  • 计算机毕业设计 基于SpringBoot的无人智慧超市管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解+答疑
  • android基于UDP实现聊天小功能
  • 计算机毕业设计|基于SpringBoot+MyBatis框架的仿天猫商城购物系统设计与实现
  • 第1章 爬虫基础
  • B树与B+树的对比
  • 树的序列化与反序列化
  • 自建CA实战之 《0x01 Nginx 配置 https单向认证》
  • C#线程 ConcurrentQueue安全队列介绍
  • Redis-性能优化
  • 视频号小店是什么?新手入驻需要什么条件?一篇详解!
  • tp8 使用rabbitMQ(1)简单队列
  • 企业联系方式真的那么难获取吗?
  • 力扣6:N字形变化
  • 【C语法学习】28 - 字符测试函数
  • 语音识别学习笔记