【问题标题】:Load Balancing In gitlab servergitlab服务器中的负载均衡
【发布时间】:2018-07-12 14:23:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: gitlab gitlab-omnibus


    【解决方案1】:

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

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

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

    • Gitlab 实例:可以完全负载平衡,因为它只是一个 Web 应用程序。负载均衡器也可以提供故障转移。 (HTTP 和 HTTPS)
    • 文件系统:这是存储库的位置。您可以使用网络共享来提供弹性(NFS 或 DFS)
    • Redis 和您选择的 DBMS:您常用的集群技术适用于此。

    【讨论】:

      猜你喜欢
      • 2013-08-26
      • 1970-01-01
      • 2017-06-12
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-07
      • 2018-11-03
      • 1970-01-01
      相关资源
      最近更新 更多