Omnibus GitLab 고가용성 역할

Tier: Free, Premium, Ultimate Offering: Self-managed

Omnibus GitLab은 고가용성 구성에서 GitLab을 실행하는 것을 지원하기 위해 다양한 소프트웨어 구성 요소/서비스를 포함합니다. 기본적으로 이러한 지원 서비스의 일부는 비활성화되어 있으며, Omnibus GitLab은 단일 노드 설치로 실행되도록 구성되어 있습니다. 각 서비스는 /etc/gitlab/gitlab.rb의 구성 설정을 사용하여 활성화하거나 비활성화할 수 있지만, roles의 도입으로 서비스 그룹을 쉽게 활성화하고 활성화한 고가용성 역할에 따라 더 나은 기본 구성을 제공합니다.

역할을 지정하지 않음 (기본 구성)

GitLab을 어떠한 역할로도 구성하지 않으면 GitLab은 단일 노드 설치를 위한 기본 서비스를 활성화합니다. 여기에는 PostgreSQL, Redis, Puma, Sidekiq, Gitaly, GitLab Workhorse, NGINX 등이 포함됩니다.

이들은 여전히 /etc/gitlab/gitlab.rb의 설정을 통해 개별적으로 활성화/비활성화할 수 있습니다.

역할 지정

역할은 /etc/gitlab/gitlab.rb에 배열로 전달됩니다.

여러 역할을 지정하는 예:

roles ['redis_sentinel_role', 'redis_master_role']

단일 역할을 지정하는 예:

roles ['geo_primary_role']

역할

다음 역할 대부분은 GitLab Enterprise Edition에서만 작동하며, 이는 gitlab-ee Omnibus 패키지를 의미합니다. 각 역할 옆에 언급됩니다.

GitLab 앱 역할

  • application_role (gitlab-ce/gitlab-ee)

    GitLab 앱 역할은 오직 GitLab만 실행되는 인스턴스를 구성하는 데 사용됩니다. Redis, PostgreSQL 및 Consul 서비스는 기본적으로 비활성화됩니다.

Redis 서버 역할

Redis 역할의 사용에 대한 문서는 Scaling을 위한 Redis 구성에서 찾을 수 있습니다.

  • redis_sentinel_role (gitlab-ee)

    기계에서 센티넬 서비스를 활성화합니다.

    기본적으로, 다른 서비스는 활성화하지 않습니다.

  • redis_master_role (gitlab-ee)

    Redis 서비스를 활성화하고 모니터링하며, 마스터 비밀번호 구성을 허용합니다.

    기본적으로, 다른 서비스는 활성화하지 않습니다.

  • redis_replica_role (gitlab-ee)

    Redis 서비스와 모니터링을 활성화합니다.

    기본적으로, 다른 서비스는 활성화하지 않습니다.

GitLab Geo 역할

GitLab Geo 역할은 GitLab Geo 사이트 구성을 위한 것입니다. 구성 단계에 대해서는 Geo 설정 문서를 참조하세요.

  • geo_primary_role (gitlab-ee)

    이 역할:

    • 스트리밍 복제를 위한 리더로 단일 노드 PostgreSQL 데이터베이스를 구성합니다.

    • Geo 보조 사이트의 스트리밍 복제 중단을 요구하므로 PostgreSQL의 자동 업그레이드를 방지합니다.

    • NGINX, Puma, Redis 및 Sidekiq를 포함한 모든 단일 노드 GitLab 서비스를 활성화합니다. 서비스를 분리하는 경우, /etc/gitlab/gitlab.rb에서 원하지 않는 서비스를 명시적으로 비활성화해야 합니다. 따라서 이 역할은 Geo 기본 사이트에서 단일 노드 PostgreSQL에만 유용합니다.

    • Geo 기본 사이트에서 PostgreSQL 클러스터를 설정하는 데 사용할 수 없습니다. 대신 Geo 다중 노드 데이터베이스 복제를 참조하십시오.

    기본적으로, NGINX, Puma, Redis 및 Sidekiq 등을 포함한 표준 단일 노드 GitLab 서비스를 활성화합니다.

  • geo_secondary_role (gitlab-ee)

    • 들어오는 복제를 위한 보조 읽기 전용 복제 데이터베이스를 구성합니다.

    • Geo 추적 데이터베이스에 대한 Rails 연결을 구성합니다.

    • 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)

    스팸 체크 및 스팸 분류기 서비스로 서버를 구성합니다.

    기본적으로 다른 서비스는 활성화하지 않습니다.