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

外部データベースでGitLabチャートを設定する

バンドルされているbitnami PostgreSQLチャートは、本番環境に対応していません。本番環境に対応したGitLabチャートのデプロイでは、外部データベースを使用してください。

前提要件:

ネットワーキングの前提条件:

  • データベースがクラスタリングから到達可能であることを確認してください。ファイアウォールポリシーがトラフィックを許可していることを確認してください。

  • PostgreSQLをロードバランシングクラスタリングおよびサービスディスカバリ用のKubernetes DNSとして使用する場合は、bitnami/postgresqlチャートのインストール時に--set slave.service.clusterIP=Noneを使用します。この設定では、PostgreSQLセカンダリインスタンスごとにDNS Aレコードが作成されるように、PostgreSQLセカンダリサービスをヘッドレスサービスとして構成します。

    サービスディスカバリにKubernetes DNSを使用する方法の例については、examples/database/values-loadbalancing-discover.yamlを参照してください。

外部データベースを使用するようにGitLabチャートを構成するには:

  1. 次のパラメータを設定します:

    • postgresql.install: falseに設定して、埋め込みデータベースを無効にします。
    • global.psql.host: 外部データベースのホスト名に設定します。ドメインまたはIPアドレスを指定できます。
    • global.psql.password.secret: gitlabユーザーのデータベースパスワードを含むシークレットの名前。
    • global.psql.password.key: シークレット内で、パスワードを含むキー。
  2. オプション。デフォルトを使用していない場合、次の項目をさらにカスタマイズできます:

    • global.psql.port: データベースが利用可能なポート。5432がデフォルトです。
    • global.psql.database: データベース名。
    • global.psql.username: データベースへのアクセス権を持つユーザー。
  3. オプション。データベースへの相互TLS接続を使用する場合は、以下を設定します:

    • global.psql.ssl.secret: クライアント証明書、キー、認証局を含むシークレット。
    • global.psql.ssl.serverCA: シークレットで、認証局(CA)を参照するキー。
    • global.psql.ssl.clientCertificate: シークレットで、クライアント証明書を参照するキー。
    • global.psql.ssl.clientKey: シークレット内のクライアント。
  4. 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