gitlab各组件功能list

概述

查看各组件状态

gitlab-ctl status

gitlab组件架构文档(有详细架构图):GitLab architecture overview | GitLab

精简版-gitlab各组件list

  • gitaly - 提供对Git Repository的高级RPC访问。只负责Repository数据,其他数据不通过gitlay。
  • gitlab-workhorse - 作为http请求代理,所有http请求都会过gitlab-workhorse。再由gitlab-workhorse通过Ruby程序HTTP服务器(Unicorn)转发给后端Ruby应用程序(puma、sidekiq)。
  • gitlab rails application - gitlab的后端Ruby应用程序的总称,实际的Ruby应用程序为puma、sidekiq。
  • puma - Ruby应用程序。puma在Gitlab中提供面向用户的功能。 
  • sidekiq - Ruby应用程序。sidekiq是一个后台作业处理器,从Redis队列中提取作业并进行处理。
  • nginx - 作为http请求入口,将http请求路由到合适的gitlab子系统。
  • postgresql - 为应用程序元数据和用户信息提供存储。
  • redis - 主要用于以下目的:缓存、Sidekiq的作业处理队列、管理共享应用程序状态、存储 CI 跟踪块、作为 ActionCable 的 Pub/Sub 队列后端、速率限制状态存储、Session。
  • logrotate - 用于日志切割。
  • 监控组件 - prometheus、alertmanager、grafana、指标采集器(node-exporter、postgres-exporter、redis-exporter)
  • gitlab-kas - kubernetes agent server,用于管理kubernetes中的gitlab agent。用于gitlab到k8s的持续集成、持续部署。

详细版-gitlab各组件list

相关组件端口备注
gitaly127.0.0.1:9236

gitaly提供对Git repositories的高级RPC访问。Gitlab通过gitaly读取和写入数据,协调repositories的存储和检索。gitaly只负责repositories存储,其他的数据不通过gitaly。

gitaly可以有单实例(单机)和集群两种模式。单机时repositories存储在单个节点上;cluster模式下repositories可以被存储在多个节点上,以实现容错。

gitaly是C/S架构。服务端是:gitaly本身;客户端是向gitaly发出请求的进程:GitLab Rails application(puma、sidekiq)、GitLab Shell、GitLab Workhorse、GitLab Elasticsearch Indexer

gitlab-workhorse127.0.0.1:9229

GitLab Workhorse是 GitLab 设计的一个程序,旨在帮助减轻来自 Puma 的压力。您可以阅读更多关于发展的历史原因。它旨在充当智能反向代理,以帮助整个 GitLab 加速。

GitLab Workhorse作为http请求的代理,使用GO语言编写。从nginx过来的http请求先到GitLab Workhorse,再到Unicorn。Unicorn是为Ruby应用程序提供的HTTP服务器,在nginx中一般通过一个Unix Socket将请求转发至Unicorn worker池。GitLab Workhorse最初为了解决一些大型项目 git clone 时通过 ssh 的超时问题,因为Unicorn依赖相对较短的请求超时。后来为了简化nginx配置,将http的请求先经过GitLab Workhorse再转发到Unicorn,逐渐越来越多的http请求转移到了GitLab Workhorse上。

关于GitLab Workhorse的发展历史:A Brief History of GitLab Workhorse|GitLab..

puma(GitLab Rails application)127.0.0.1:8080Puma是一个 Ruby 应用程序服务器,用于运行核心 Rails 应用程序,在 GitLab 中提供面向用户的功能。通常这会在进程输出中显示为bundle或config.ru取决于 GitLab 版本。
sidekiq(GitLab Rails application)

Sidekiq 是一个 Ruby 后台作业处理器,它从 Redis 队列中提取作业并进行处理。后台作业允许 GitLab 通过将工作移至后台来提供更快的请求/响应周期。

Sidekiq 需要连接到 Redis、PostgreSQL 和 Gitaly 实例。

gitlab-kas

127.0.0.1:8150

127.0.0.1:8151

127.0.0.1:8153

127.0.0.1:8154

127.0.0.1:8155

KAS(Kubernetes agent server)是gitlab agent server,用于管理Kubernetes中的Gitlab agent(agentk)。

KAS ↔ gitlab agent,解决k8s和gitlab的链接。可以将部署从gitlab同步到k8s集群。

1.可以将k8s清单存储在gitlab中。更新清单文件,代理就会更新k8s中的部署

2.可以通过gitlab CI/CD查询和更新k8s集群

kubernetes结合gitlab实现cicd:

Connecting a Kubernetes cluster with GitLab | GitLab

kas架构:

doc/architecture.md · master · GitLab.org / cluster-integration / GitLab Agent for Kubernetes · GitLab

nginx

80、443、8060

作为http请求的入口,将http的请求路由到合适的gitlab子系统。

8060端口暴露nginx-status、nginx metrics、gitlab rails metrics。默认情况下只允许从127.0.0.1访问。

postgresql为应用程序元数据和用户信息提供存储。
redis

Redis guidelines | GitLab

Redis用于以下目的:缓存(主要是通过Rails.cache)、作为Sidekiq的作业处理队列、管理共享应用程序状态、存储 CI 跟踪块、作为 ActionCable 的 Pub/Sub 队列后端、速率限制状态存储、Session。

如果启用Geo,每个 Geo 节点都会获得自己的独立 Redis 数据库。

logrotate日志切割。
prometheus9090监控。
alertmanager

127.0.0.1:9093

9094

负责发送告警和抑制告警。
grafana127.0.0.1:3000监控面板。
node-exporter127.0.0.1:9100将node的指标提供给prometheus
postgres-exporter127.0.0.1:9187将postgresql的指标提供给prometheus
redis-exporter127.0.0.1:9121将redis的指标提供给prometheus

GitLab的Wiki功能是一个名为Wiki的独立文档系统,它内置于每个GitLab项目中。它通过利用Git进行文档管理,为团队的技术文档管理提供了完美的解决方案。Wiki在所有新项目上默认启用,并可以在项目的Wiki下找到。您可以在Web界面中创建Wiki页面,也可以使用Git在本地创建Wiki页面,因为每个Wiki都是一个单独的Git存储库。创建Wiki页面需要Developer级别的权限,而查看Wiki页面只需要Guest级别的权限。第一次访问Wiki时,您会被引导创建主页,主页在查看Wiki时用作登录页面。您只需填写主页的内容部分,然后点击"Create Page"按钮即可。您随后可以随时编辑主页和其他页面,可以在主页上编写欢迎信息或其他内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [你会用gitlab的wiki了吗](https://blog.csdn.net/weixin_32520565/article/details/118412100)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [[gitlab-wiki]--使用梳理](https://blog.csdn.net/wangying202/article/details/115404593)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值