【问题标题】:GitLab HA with Kubernetes and GlusterGitLab HA 与 Kubernetes 和 Gluster
【发布时间】:2018-02-14 01:25:45
【问题描述】:

我目前在 Docker 上设置了 GitLab 综合服务。我计划通过将它添加到 Kubernetes 来获得相同的 HA,并使用 Gluster 进行持久化。我玩过用 Gluster 配置 Kubernetes。现在是时候将 GitLab 引入 Kubernetes 了。 GitLab 使用 PostgreSQL 作为默认数据库。

我的疑问是要实现 HA,我应该
a) 将 GitLab 拆分为 GitLab 应用程序和 PostgreSQL 容器,然后在它们自己的 pod 集群中运行(应用程序和数据库),即,将 GitLab 应用程序和 PostgreSQL 的副本分开部署

b) 继续使用综合安装程序,只拥有这个单一、独立容器的副本?

是否真的有任何区别
1) 写入发生在通过服务向 GitLab 应用程序公开的数据库集群

2) 写入直接发生在综合 GitLab 容器中(其中包含 db)

只是想确保我不会不必要地使设置变得复杂。在 Kubernetes 中使用 GitLab 和 Gluster 已经让事情变得有点复杂了。那么拆分应用程序和数据库是否有意义,或者只是综合设置就足够了?担心并发写入数据库。

【问题讨论】:

    标签: postgresql docker kubernetes gitlab glusterfs


    【解决方案1】:

    根据http://docs.gitlab.com/ce/install/kubernetes/gitlab_omnibus.html#introduction 您应该使用专用的 Redis 和 PostgreSQL HA 集群。选项 b) 和 1)

    为了减少停机时间,最好使用 PostgreSQL 主从 集群 (https://www.postgresql.org/docs/10/static/different-replication-solutions.html) 和 Redis 集群主从 (https://redis.io/topics/cluster-tutorial)。 “请注意,按预期工作的最小 (Redis) 集群需要包含至少三个主节点”。

    如果您只使用 GlusterFS 将故障转移带到 PostgreSQL,当一​​个数据库实例崩溃而另一个数据库实例启动时,您可能会遇到一些需要手动修复的错误。像这样:How do I fix Postgres so it will start after an abrupt shutdown?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-31
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多