gitlab服务器中的负载平衡

gitlab服务器中的负载平衡,gitlab,gitlab-omnibus,Gitlab,Gitlab Omnibus,我们在一台服务器上设置了一个Gitlab CI/CD平台,在多台机器上运行多个运行器和执行器。这一直运行良好,但由于采用单服务器模式,无法保证“高可用性”。我们被要求创建一个具有内置负载平衡和自动故障转移的HA环境 我们正试图通过在两台不同的机器上运行两台Gitlab CI-CD服务器,并在它们前面安装一个“循环”负载平衡器来实现这一点。用户将点击负载平衡器的URL,该URL会将他们重定向到其中一台服务器。我们最初想到的几个问题是 •两台服务器之间如何共享项目数据和元数据? •是否可以共享存储库

我们在一台服务器上设置了一个Gitlab CI/CD平台,在多台机器上运行多个运行器和执行器。这一直运行良好,但由于采用单服务器模式,无法保证“高可用性”。我们被要求创建一个具有内置负载平衡和自动故障转移的HA环境

我们正试图通过在两台不同的机器上运行两台Gitlab CI-CD服务器,并在它们前面安装一个“循环”负载平衡器来实现这一点。用户将点击负载平衡器的URL,该URL会将他们重定向到其中一台服务器。我们最初想到的几个问题是

•两台服务器之间如何共享项目数据和元数据? •是否可以共享存储库和源代码?或者我们必须维护同一项目的两个存储库;每个Gitlab服务器中有一个? •故障切换功能是否内置于Gitlab CI-CD服务器中?在一台服务器上活动的用户将自动重定向到另一台服务器


有人以前试过吗?或者任何关于如何做到这一点的想法都将受到高度赞赏。

目前Gitlab没有内置的HA功能(无论是CE还是EE)。只有Gitlab Geo,它在另一个位置提供Gitlab实例的只读副本

如果你想提供HA和LB,那么你必须考虑以下内容:

由于可以设置数据、DB和redis缓存的位置,因此可以非常轻松地为HA环境建模

  • Gitlab实例:可以完全负载平衡,因为它只是一个web应用程序。负载平衡器也可以提供故障转移。(HTTP和HTTPS)
  • 文件系统:这是存储回购的地方。您可以使用网络共享提供恢复能力(NFS或DFS)
  • Redis和您选择的DBMS:您常用的集群技术适用于这里