Omnibus GitLab 고가용성 역할

Tier: 무료, 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 엔터프라이즈 에디션에서만 작동합니다. 각 역할 옆에 다음과 같이 명시됩니다.

GitLab 앱 역할

  • application_role (gitlab-ce/gitlab-ee)

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

Redis 서버 역할

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

  • redis_sentinel_role (gitlab-ee)

    기본적으로 기타 서비스를 활성화하지 않으면서 머신에서 Sentinel 서비스를 활성화합니다.

  • 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 데이터베이스를 구성합니다.
    • PostgreSQL의 자동 업그레이드를 방지하여 Geo 보조 사이트에 대한 스트리밍 복제의 다운타임이 필요하게 합니다.
    • NGINX, Puma, Redis 및 Sidekiq를 포함한 모든 단일 노드 GitLab 서비스를 활성화합니다. 서비스를 분리하는 경우 /etc/gitlab/gitlab.rb에서 원치 않는 서비스를 명시적으로 비활성화해야 합니다. 따라서 이 역할은 Geo 기본 사이트의 단일 노드 PostgreSQL에서만 유용합니다.
    • PostgreSQL 클러스터를 Geo 기본 사이트에 설정하는 데 사용할 수 없습니다. 대신 Geo 다중 노드 데이터베이스 복제를 참조하십시오.
  • geo_secondary_role (gitlab-ee)

    • 수신 복제용 읽기 전용 복제 데이터베이스를 구성합니다.
    • Geo 추적 데이터베이스에 대한 Rails 연결을 구성합니다.
    • Geo 추적 데이터베이스 geo-postgresql를 활성화합니다.
    • Geo Log Cursor geo-logcursor를 활성화합니다.
    • 다시 구성 중에 읽기 전용 복제 데이터베이스에서 자동 데이터베이스 마이그레이션을 비활성화합니다.
    • 메모리를 절약하기 위해 Puma 워커 수를 줄입니다.
    • gitlab_rails['enable'] = true를 설정합니다.

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

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

모니터링 역할

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

  • 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 Administration documentation을 참조하십시오.

  • pages_role (gitlab-ce/gitlab-ee)

    GitLab Pages 인스턴스로 서버를 구성합니다.

Sidekiq 역할

Sidekiq 역할은 Sidekiq를 설정하고 구성하는 데 사용됩니다. 자세한 정보는 Sidekiq Administration documentation을 참조하십시오.

  • sidekiq_role (gitlab-ce/gitlab-ee)

    Sidekiq 서비스로 서버를 구성합니다.

스팸 체크 역할

스팸 체크 역할은 스팸 체크 서비스를 설정하고 구성하는 데 사용됩니다. 자세한 정보는 스팸 체크 문서를 참조하십시오.

  • spamcheck_role (gitlab-ee)

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