高可用性角色

  • Tier: 基础版, 专业版, 旗舰版
  • Offering: 私有化部署

Linux 软件包包括各种软件组件/服务,以支持极狐GitLab在高可用性配置中运行。默认情况下,这些支持服务中的一些被禁用,极狐GitLab被配置为单节点安装。每个服务都可以通过 /etc/gitlab/gitlab.rb 中的配置设置启用或禁用,但引入 roles 可以轻松启用一组服务,并根据启用的高可用性角色提供更好的默认配置。

未指定任何角色(默认配置)#

当您没有为极狐GitLab配置任何角色时,极狐GitLab会启用单节点安装的默认服务。这些包括 PostgreSQL、Redis、Puma、Sidekiq、Gitaly、极狐GitLab Workhorse、NGINX 等。

这些仍然可以通过 /etc/gitlab/gitlab.rb 中的设置单独启用/禁用。

指定角色#

角色作为数组传递给 /etc/gitlab/gitlab.rb

指定多个角色的示例:

ruby
roles ['redis_sentinel_role', 'redis_master_role']

指定单个角色的示例:

ruby
roles ['geo_primary_role']

角色#

以下大多数角色仅适用于 极狐GitLab 企业版,即 gitlab-ee Linux 软件包。将在每个角色旁边提到。

极狐GitLab应用角色#

  • application_role (gitlab-ce/gitlab-ee)

    极狐GitLab应用角色用于配置仅运行极狐GitLab的实例。默认情况下禁用 Redis、PostgreSQL 和 Consul 服务。

Redis服务器角色#

有关 Redis角色使用的文档可以在 配置 Redis 以扩展 中找到。

  • redis_sentinel_role (gitlab-jh)

    在机器上启用 sentinel 服务,

    默认情况下,不启用其他服务。

  • redis_master_role (gitlab-jh)

    启用 Redis 服务和监控,并允许配置主密码

    默认情况下,不启用其他服务。

  • redis_replica_role (gitlab-jh)

    启用 Redis 服务和监控

    默认情况下,不启用其他服务。

极狐GitLab Geo角色#

极狐GitLab Geo角色用于极狐GitLab Geo站点的配置。请参阅 Geo 设置文档 以获取配置步骤。

  • geo_primary_role (gitlab-ee)

    此角色:

    • 配置单节点 PostgreSQL 数据库作为流复制的领导者。
    • 防止自动升级 PostgreSQL,因为它需要对 Geo 次级站点的流复制停机。
    • 启用所有单节点极狐GitLab服务,包括 NGINX、Puma、Redis 和 Sidekiq。如果您正在分隔服务,则必须在 /etc/gitlab/gitlab.rb 中明确禁用不需要的服务。因此,此角色仅在 Geo 主站点的单节点 PostgreSQL 上有用。
    • 不能用于在 Geo 主站点设置 PostgreSQL 集群。相反,请参阅 Geo 多节点数据库复制

    默认情况下,启用标准单节点极狐GitLab服务,包括 NGINX、Puma、Redis 和 Sidekiq。

  • geo_secondary_role (gitlab-ee)

    • 配置用于接收复制的次级只读副本数据库。
    • 配置 Rails 连接到 Geo 跟踪数据库。
    • 启用 Geo 跟踪数据库 geo-postgresql
    • 启用 Geo 日志光标 geo-logcursor
    • 在重新配置期间禁用只读副本数据库的自动数据库迁移。
    • 减少 Puma 工作线程数量以节省其他服务的内存。
    • 设置 gitlab_rails['enable'] = true

    此角色旨在用于在单个节点上运行的 Geo 次级站点。如果在具有多个节点的 Geo 站点中使用此角色,则需要在 /etc/gitlab/gitlab.rb 中明确禁用不需要的服务。请参阅 Geo 多节点

    此角色不应用于在 Geo 次级站点设置 PostgreSQL 集群。相反,请参阅 Geo 多节点数据库复制

    默认情况下,启用所有极狐GitLab默认单节点服务。(NGINX、Puma、Redis、Sidekiq 等)

监控角色#

监控角色用于设置安装的监控。有关更多信息,请参阅 监控文档

  • monitoring_role (gitlab-ce/gitlab-ee)

    配置一个中央监控服务器以收集指标并提供仪表板。

    启用 Prometheus 和 Alertmanager。

PostgreSQL角色#

有关 PostgreSQL角色使用的文档可以在 配置 PostgreSQL 以扩展 中找到。

  • postgres_role (gitlab-ce/gitlab-ee)

    启用机器上的 PostgreSQL 服务

    默认情况下,不启用其他服务。

  • patroni_role (gitlab-ee)

    启用机器上的 PostgreSQL、patroni 和 Consul 服务

    默认情况下,不启用其他服务。

  • pgbouncer_role (gitlab-ee)

    启用机器上的 PgBouncer 和 Consul 服务

    默认情况下,不启用其他服务。

  • consul_role (gitlab-ee)

    启用机器上的 Consul 服务

    默认情况下,不启用其他服务。

极狐GitLab Pages角色#

极狐GitLab Pages角色用于设置和配置极狐GitLab Pages。有关更多信息,请参阅 极狐GitLab Pages管理文档

  • pages_role (gitlab-ce/gitlab-ee)

    使用极狐GitLab Pages实例配置服务器。

    默认情况下,不启用其他服务。

Sidekiq角色#

Sidekiq角色用于设置和配置 Sidekiq。有关更多信息,请参阅 Sidekiq管理文档

  • sidekiq_role (gitlab-ce/gitlab-ee)

    使用 Sidekiq 服务配置服务器。

    默认情况下,不启用其他服务。

Spamcheck角色#

Spamcheck角色用于设置和配置 Spamcheck 服务。有关更多信息,请参阅 Spamcheck文档

  • spamcheck_role (gitlab-ee)

    使用 spamcheck 和 spam-classifier 服务配置服务器。

    默认情况下,不启用其他服务。

Gitaly角色#

Gitaly角色用于设置和配置 Gitaly 服务。有关更多信息,请参阅 Gitaly文档

  • gitaly_role (gitlab-ce/gitlab-ee)

    使用 Gitaly 服务配置服务器。

    默认情况下,不启用其他服务。