外部GitLab PagesでGitLabチャートを設定する
このドキュメントでは、Linuxパッケージを使用して、クラスタリングの外部で設定されたGitLab Pagesインスタンスで、このHelm Chartを設定する方法について説明します。Issue 418259は、Helm Chartを使用して、外部GitLab Pagesを持つLinuxパッケージインスタンスのドキュメントを追加することを提案しています。
要件
- 外部オブジェクトストレージは、本番環境インスタンスに推奨されるため、使用する必要があります。
- GitLab Pagesとやり取りするための、32バイト長のAPIシークレットキーのBase64エンコード形式。
既知の制限事項
- GitLab Pagesのアクセス制御は、標準ではサポートされていません。
外部のGitLab Pagesインスタンスを設定します
GitLabをインストール Linuxパッケージを使用してインストールします。
/etc/gitlab/gitlab.rbファイルを編集し、その内容を次のスニペットに置き換えます。次の値を更新して、設定に合わせてください:roles ['pages_role'] # Root domain where Pages will be served. pages_external_url '<Pages root domain>' # Example: 'http://pages.example.io' # Information regarding GitLab instance gitlab_pages['gitlab_server'] = '<GitLab URL>' # Example: 'https://gitlab.example.com' gitlab_pages['api_secret_key'] = '<Base64 encoded form of API secret key>'sudo gitlab-ctl reconfigureを実行して、変更を適用します。
チャートを設定する
Pagesのデプロイメントを保存するために、オブジェクトストレージに
gitlab-pagesという名前のバケットを作成します。値としてAPIシークレットキーのBase64エンコード形式でシークレット
gitlab-pages-api-keyを作成します。kubectl create secret generic gitlab-pages-api-key --from-literal="shared_secret=<Base 64 encoded API Secret Key>"次の設定スニペットを参照し、必要なエントリを値ファイルに追加します。
global: pages: path: '/srv/gitlab/shared/pages' host: <Pages root domain> port: '80' # Set to 443 if Pages is served over HTTPS https: false # Set to true if Pages is served over HTTPS artifactsServer: true objectStore: enabled: true bucket: 'gitlab-pages' apiSecret: secret: gitlab-pages-api-key key: shared_secret extraEnv: PAGES_UPDATE_LEGACY_STORAGE: true # Bypass automatic disabling of disk storagePAGES_UPDATE_LEGACY_STORAGE環境変数をtrueに設定すると、機能フラグpages_update_legacy_storageが有効になり、Pagesがローカルディスクにデプロイされます。オブジェクトストレージに移行する場合は、この変数を削除することを忘れないでください。この設定を使用して、チャートをデプロイする。