GitLabチャートと外部データベースの設定
GitLabチャートを本番環境でデプロイするには、外部データベースを使用します。
前提条件:
- PostgreSQL 12以降のデプロイ。お持ちでない場合は、AWS RDS PostgreSQLや GCP Cloud SQLのようなクラウド提供のソリューションをご検討ください。自己管理ソリューションの場合は、Linuxパッケージを検討してください。
- デフォルトでは
gitlabhq_production
という名前の空のデータベース。 - データベースにフルアクセスできるユーザー。詳細は外部データベースのドキュメントを参照してください。
- データベースユーザーのパスワードを持つKubernetesシークレット。
-
pg_trgm
とbtree_gist
拡張機能。Superuserフラグを持つアカウントをGitLabに提供していない場合は、データベースのインストールを進める前にこれらの拡張機能がロードされていることを確認してください。
ネットワークの前提条件
- データベースがクラスターからアクセス可能であることを確認します。ファイアウォールのポリシーでトラフィックが許可されていることを確認してください。
-
PostgreSQLをロードバランシングクラスターとして使用し、Kubernetes DNSをサービス検出に使用する予定の場合は、
bitnami/postgresql
チャートをインストールするときに、--set slave.service.clusterIP=None
を使用します。この設定は、PostgreSQLセカンダリサービスをヘッドレスサービスとして設定し、各セカンダリインスタンスに対してDNSA
レコードの作成を許可します。サービス検出にKubernetes DNSを使用する方法の例については、
examples/database/values-loadbalancing-discover.yaml
を参照してください。
GitLab チャートが外部データベースを使うように設定するには:
-
以下のパラメータを設定します:
-
postgresql.install
:false
に設定すると、内部データベースが無効になります。 -
global.psql.host
:外部データベースのホスト名(ドメインまたはIPアドレス)を設定します。 -
global.psql.password.secret
:gitlab
ユーザー](../../installation/secrets.md#postgresql-password)のデータベース・パスワードを含む[シークレットの名前。 -
global.psql.password.key
:シークレット内にある、パスワードを含むキー。
-
-
オプション。デフォルトを使用しない場合は、以下の項目をさらにカスタマイズできます:
-
global.psql.port
:データベースが利用可能なポート。デフォルトは5432
です。 -
global.psql.database
:データベースの名前。 -
global.psql.username
:データベースにアクセスできるユーザー。
-
-
オプション。データベースへの相互 TLS 接続を使用する場合は、以下を設定します:
-
global.psql.ssl.secret
:クライアント証明書、キー、および作成者を含むシークレット。 -
global.psql.ssl.serverCA
:シークレットの中で、認証局を参照する鍵(CA)。 -
global.psql.ssl.clientCertificate
:シークレットでは、クライアント証明書を参照するキー。 -
global.psql.ssl.clientKey
:シークレットでは、クライアント。
-
-
GitLabチャートをデプロイする際、
--set
フラグを使って値を追加します。例えばhelm install gitlab gitlab/gitlab --set postgresql.install=false --set global.psql.host=psql.example --set global.psql.password.secret=gitlab-postgresql-password --set global.psql.password.key=postgres-password