负载平衡在gitlab服务器中
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载平衡在gitlab服务器中相关的知识,希望对你有一定的参考价值。
我们在一台服务器上设置了一个Gitlab CI / CD平台,在多台机器上运行多个Runner和executors。这一直运行良好,但由于单服务器模型不能保证“高可用性”。我们被要求创建一个具有内置负载平衡和自动故障转移的HA环境。
我们试图找到我们是否可以通过在两台不同的机器上运行的两台Gitlab CI-CD服务器来实现这一目标,并在它们前面安装一个“循环”负载均衡器。用户将点击负载均衡器的URL,该负载均衡器将重定向到其中一个服务器。我们想到的几个初步问题是
•如何在两台服务器之间共享项目数据和元数据? •可以共享存储库和源代码吗?或者我们是否必须维护同一个项目的两个存储库;每个Gitlab服务器一个? •Gitlab CI-CD服务器内置了故障转移功能吗?活动在一台服务器上的用户是否会自动重定向到其他服务器。
有没有人早点尝试过?或者任何想法如何做到这一点将受到高度赞赏。
答案
目前,Gitlab(无论是CE还是EE)没有内置的HA功能。只有Gitlab Geo,它在另一个位置提供Gitlab实例的只读副本。
如果您想提供HA和LB,那么您必须考虑以下因素:
由于您可以设置数据,DB和redis缓存所在的位置,因此您可以非常轻松地为HA环境建模。
- Gitlab实例:可以完全负载平衡,因为它只是一个Web应用程序。负载平衡器也可以提供故障转移。 (HTTP和HTTPS)
- 文件系统:这是存储repos的地方。您可以使用网络共享来提供弹性(NFS或DFS)
- Redis和您选择的DBMS:您通常的聚类技术适用于此处。
以上是关于负载平衡在gitlab服务器中的主要内容,如果未能解决你的问题,请参考以下文章