负载平衡在gitlab服务器中

问题描述 投票:1回答:1

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

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

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

有没有人早点尝试过?或者任何想法如何做到这一点将受到高度赞赏。

gitlab gitlab-omnibus
1个回答
1
投票

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

如果您想提供HA和LB,那么您必须考虑以下因素:

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

  • Gitlab实例:可以完全负载平衡,因为它只是一个Web应用程序。负载平衡器也可以提供故障转移。 (HTTP和HTTPS)
  • 文件系统:这是存储repos的地方。您可以使用网络共享来提供弹性(NFS或DFS)
  • Redis和您选择的DBMS:您通常的聚类技术适用于此处。
© www.soinside.com 2019 - 2024. All rights reserved.