正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

高可用性ロール

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

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の配列として渡されます

複数のロールを指定する例:

roles ['redis_sentinel_role', 'redis_master_role']

単一のロールを指定する例:

roles ['geo_primary_role']

ロール

以下のロールの大部分は、GitLab Enterprise Edition、つまりgitlab-ee Linuxパッケージでのみ機能します。各ロールの横に記載されています。

GitLabアプリのロール

  • application_rolegitlab-ce/gitlab-ee

    GitLabアプリのロールは、GitLabのみが実行されているインスタンスを設定するために使用されます。Redis、PostgreSQL、およびConsulサービスは、デフォルトで無効になっています。

Redisサーバーのロール

Redisロールの使用に関するドキュメントは、Configuring Redis for Scalingにあります

  • redis_sentinel_rolegitlab-ee

    マシン上でセンチネルサービスを有効にします。

    デフォルトでは、他のサービスは有効になりません。

  • redis_master_rolegitlab-ee

    Redisサービスとモニタリングを有効にし、マスターパスワードの設定を許可します

    デフォルトでは、他のサービスは有効になりません。

  • redis_replica_rolegitlab-ee

    Redisサービスとモニタリングを有効にします

    デフォルトでは、他のサービスは有効になりません。

GitLab Geoロール

GitLab Geoロールは、GitLab Geoサイトの設定に使用されます。設定手順については、Geo Setup Documentationを参照してください。

  • geo_primary_rolegitlab-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_rolegitlab-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_rolegitlab-ce/gitlab-ee

    メトリクスを収集し、ダッシュボードを提供するための中央モニタリングサーバーを設定します。

    PrometheusとAlertmanagerを有効にします。

PostgreSQLロール

PostgreSQLロールの使用方法に関するドキュメントは、Configuring PostgreSQL for Scalingにあります

  • postgres_rolegitlab-ce/gitlab-ee

    マシン上でPostgreSQLサービスを有効にします

    デフォルトでは、他のサービスは有効になりません。

  • patroni_rolegitlab-ee

    マシン上でPostgreSQL、Patroni、Consulサービスを有効にします

    デフォルトでは、他のサービスは有効になりません。

  • pgbouncer_rolegitlab-ee

    マシン上でPgBouncerとConsulサービスを有効にします

    デフォルトでは、他のサービスは有効になりません。

  • consul_rolegitlab-ee

    マシン上でConsulサービスを有効にします

    デフォルトでは、他のサービスは有効になりません。

GitLab Pagesロール

GitLab Pagesロールは、GitLab Pagesを設定するために使用されます。詳細については、GitLab Pages管理ドキュメントを参照してください

  • pages_rolegitlab-ce/gitlab-ee

    GitLab Pagesインスタンスを使用してサーバーを設定します。

    デフォルトでは、他のサービスは有効になりません。

Sidekiqロール

Sidekiqロールは、Sidekiqを設定するために使用されます。詳細については、Sidekiq管理ドキュメントを参照してください

  • sidekiq_rolegitlab-ce/gitlab-ee

    Sidekiqサービスを使用してサーバーを設定します。

    デフォルトでは、他のサービスは有効になりません。

Spamcheckロール

Spamcheckロールは、Spamcheckサービスを設定するために使用されます。詳細については、Spamcheckドキュメントを参照してください

  • spamcheck_rolegitlab-ee

    Spamcheckおよびスパム分類子サービスを使用してサーバーを設定します。

    デフォルトでは、他のサービスは有効になりません。

Gitalyロール

Gitalyロールは、Gitalyサービスを設定するために使用されます。詳細については、Gitalyドキュメントを参照してください

  • gitaly_rolegitlab-ce/gitlab-ee

    Gitalyサービスを使用してサーバーを設定します。

    デフォルトでは、他のサービスは有効になりません。