Omnibus GitLab 고가용성 역할

티어: Free, Premium, Ultimate 오퍼링: Self-Managed

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

역할을 지정하지 않은 경우 (기본 구성)

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 엔터프라이즈 에디션에서만 작동합니다. 각 역할 옆에 이를 나타내는 정보가 표시됩니다.

GitLab 앱 역할

  • application_role (gitlab-ce/gitlab-ee)

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

Redis 서버 역할

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

  • redis_sentinel_role (gitlab-ee)

    머신에서 센티넬 서비스를 활성화합니다.

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

  • redis_master_role (gitlab-ee)

    Redis 서비스와 모니터링을 활성화하고 마스터 암호를 구성할 수 있도록 합니다.

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

  • redis_replica_role (gitlab-ee, GitLab 13.0에 도입)

    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 Log Cursor geo-logcursor를 활성화합니다.
    • 다시 구성 중에 읽기 전용 레플리카 데이터베이스에서의 자동 데이터베이스 마이그레이션을 비활성화합니다.
    • 기타 서비스에 대한 메모리를 절약하기 위해 Puma 워커 수를 줄입니다.
    • gitlab_rails['enable'] = true로 설정합니다.

    이 역할은 단일 노드에서 실행되는 Geo 보조 사이트에서 사용하기 위한 것입니다. 여러 노드에서 사용하는 경우 원치 않는 서비스를 명시적으로 비활성화해야 합니다. 다중 노드를 위한 Geo를 참조하십시오.

    이 역할은 Geo 보조 사이트의 PostgreSQL 클러스터를 설정하는 데 사용해서는 안 됩니다. 대신 Geo 다중 노드 데이터베이스 복제를 참조하십시오.

    기본적으로 NGINX, Puma, Redis, Sidekiq 등 GitLab의 기본 단일 노드 서비스를 모두 활성화합니다.

모니터링 역할

모니터링 역할은 설치물의 모니터링을 설정하는 데 사용됩니다. 자세한 정보는 모니터링 문서를 참조하세요.

  • monitoring_role (gitlab-ce/gitlab-ee)

    메트릭을 수집하고 대시보드를 제공하기 위해 중앙 모니터링 서버를 구성합니다.

    Prometheus와 Alertmanager를 활성화합니다.

PostgreSQL 역할

PostgreSQL 역할의 사용법에 대한 문서는 스케일링을 위한 PostgreSQL 구성에서 찾을 수 있습니다.

  • postgres_role (gitlab-ce/gitlab-ee)

    기본 설정으로, 머신에서 PostgreSQL 서비스를 활성화합니다.

    기본 설정으로 다른 서비스를 활성화하지 않습니다.

  • patroni_role (gitlab-ee, GitLab 13.8에서 도입됨)

    기본 설정으로, 머신에서 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_role (gitlab-ee)

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

    기본 설정으로 다른 서비스를 활성화하지 않습니다.