高可用性角色
- 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
指定多个角色的示例:
rubyroles ['redis_sentinel_role', 'redis_master_role']
指定单个角色的示例:
rubyroles ['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 服务配置服务器。
默认情况下,不启用其他服务。