Omnibus GitLab 高可用性ロール

GitLab EE 10.1.0で導入されました。

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 Appロールは、GitLabのみを実行するインスタンスを簡単に設定するために使用します。 Redis、PostgreSQL、Consulサービスはデフォルトで無効になっています。

Redisサーバーのロール

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

  • redis_sentinel_role(gitlab-ee)

    マシンのセンチネル・サービスを有効にします、

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

  • redis_master_role(gitlab-ee)

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

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

  • redis_replica_role(gitlab-ee)

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

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

GitLab Geoロール

GitLab Geo ロールは GitLab Geo のデータベースレプリケーションを設定する際に使用します。 設定手順についてはGeo Database Documentationを参照してください。

  • geo_primary_role(gitlab-ee)

    データベースをレプリケーション用に準備し、アプリケーションを Geo プライマリとして構成します。

    デフォルトでは、GitLabの標準的なシングルノードサービスをすべて有効にします。 (NGINX, Puma, Redis, Sidekiqなど)

  • geo_secondary_role(gitlab-ee)

    セカンダリー・データベースを受信レプリケーション用に設定し、アプリケーションに Geo セカンダリーとしてフラグを立てます。

    デフォルトでは、GitLabのデフォルトのシングルノードサービスをすべて有効にします。 (NGINX, Puma, Redis, Sidekiqなど)

監視のロール

監視ロールは、HAインストールの監視を設定するために使用します。 その他のドキュメントは、HA監視のドキュメントを参照してください。

  • monitoring_role(gitlab-ce/gitlab-ee)

    中央監視サーバーを構成してメトリクスを収集し、ダッシュボードを提供します。

    Prometheus、Alertmanager、Grafanaを有効にします。

PostgreSQLのロール

PostgreSQLロールの使用法に関する文書は、PostgreSQL複数ノードの設定にあります。

  • postgres_role(gitlab-ce/gitlab-ee)

    マシンのPostgreSQL、repmgr、Consulサービスを有効にします。

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

  • pgbouncer_role(gitlab-ee)

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

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

  • consul_role(gitlab-ee)

    マシンのConsulサービスを有効にします。

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