スタンドアロンPostgreSQLデータベースのセットアップ

Ubuntu用のLinuxパッケージを利用します。このパッケージは、Chartのサービスとの互換性が保証されたバージョンのサービスを提供します。

LinuxパッケージでVMを作成

お好みのプロバイダー、またはローカルにVMを作成します。VirtualBox、KVM、Bhyveでテストしました。インスタンスがクラスターから到達可能であることを確認します。

作成したVMにUbuntu Serverをインストールします。openssh-server がインストールされ、すべてのパッケージが最新であることを確認します。ネットワークとホスト名を設定します。ホスト名/IPをメモしておき、Kubernetesクラスタから解決可能かつ到達可能であることを確認します。ファイアウォールポリシーがトラフィックを許可するように設定されていることを確認してください。

Linuxパッケージのインストール手順に従ってください。パッケージのインストールを実行するときは を指定しないでください。EXTERNAL_URL= を指定しないでください。次のステップで非常に具体的な設定を行うので、自動設定は行わないでください。

Linuxパッケージ・インストールの設定

/etc/gitlab/gitlab.rbに配置する最小限のgitlab.rb ファイルを作成します。このノードで何が有効になっているかを明確にし、以下の内容を使用してください。

注意: この例はPostgreSQLをスケーリング用に提供するものではありません。

注意: 以下の値は置き換えてください。

  • DB_USERNAME デフォルトのユーザ名はgitlab
  • DB_PASSSWORD エンコードされていない値
  • DB_ENCODED_PASSWORD DB_PASSWORDの符号化された値。DB_USERNAMEDB_PASSWORD を実数値で置き換えることで生成可能:echo -n 'DB_PASSSWORDDB_USERNAME' | md5sum - | cut -d' ' -f1
  • AUTH_CIDR_ADDRESS MD5認証用のCIDRを設定する場合は、クラスターまたはそのゲートウェイの最小のサブネットを指定します。minikubeの場合、この値は192.168.100.0/12
# Change the address below if you do not want PG to listen on all available addresses
postgresql['listen_address'] = '0.0.0.0'
# Set to approximately 1/4 of available RAM.
postgresql['shared_buffers'] = "512MB"
# This password is: `echo -n '${password}${username}' | md5sum - | cut -d' ' -f1`
# The default username is `gitlab`
postgresql['sql_user_password'] = "DB_ENCODED_PASSWORD"
# Configure the CIDRs for MD5 authentication
postgresql['md5_auth_cidr_addresses'] = ['AUTH_CIDR_ADDRESSES']
# Configure the CIDRs for trusted authentication (passwordless)
postgresql['trust_auth_cidr_addresses'] = ['127.0.0.1/24']

## Configure gitlab_rails
gitlab_rails['auto_migrate'] = false
gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = "DB_PASSSWORD"


## Disable everything else
sidekiq['enable'] = false
puma['enable'] = false
registry['enable'] = false
gitaly['enable'] = false
gitlab_workhorse['enable'] = false
nginx['enable'] = false
prometheus_monitoring['enable'] = false
redis['enable'] = false

gitlab.rb を作成したら、gitlab-ctl reconfigureでパッケージを再設定します。タスクが完了したら、gitlab-ctl status で実行中のプロセスを確認します。このように出力されるはずです:

# gitlab-ctl status
run: logrotate: (pid 4856) 1859s; run: log: (pid 31262) 77460s
run: postgresql: (pid 30562) 77637s; run: log: (pid 30561) 77637s