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サービスを有効にします。
デフォルトでは、他のサービスは有効になりません。