GitLab Helmチャートをデプロイします。
helm install を実行する前に、GitLab をどのように実行するかいくつか決めておく必要があります。オプションはHelmの--set option.name=value コマンドラインオプションを使って指定します。このガイドでは、必要な値と一般的なオプションについて説明します。オプションの完全なリストについては、インストールコマンドラインオプションをお読みください。
本番デプロイを行うには、Kubernetesに関する十分な知識が必要です。このデプロイ方法には、従来のデプロイとは異なる管理、観測可能性、概念があります。
Helmを使用したデプロイ
設定オプションをすべて集めたら、依存関係を取得してHelmを実行します。この例では、Helmのリリース名をgitlab.
helm repo add gitlab https://charts.gitlab.io/
helm repo update
helm upgrade --install gitlab gitlab/gitlab \
--timeout 600s \
--set global.hosts.domain=example.com \
--set global.hosts.externalIP=10.10.10.10 \
--set certmanager-issuer.email=me@example.com \
--set postgresql.image.tag=13.6.0
以下に注意してください。
- すべてのHelmコマンドはHelm v3構文で指定されます。
- Helm v3では、
--generate-nameオプションを使用しない限り、リリース名をコマンドラインの位置引数として指定する必要があります。 - Helm v3 では、期間に単位を付加して指定する必要があります (例:
120s=2m,210s=3m30s)。--timeoutオプションは単位を指定_せずに_秒数として扱われます。 -
--timeoutオプションの使用は、Helm のインストールまたはアップグレード中にデプロイされる複数のコンポーネントがあるため、このオプションが--timeout適用--timeoutされると誤魔化されます。--timeoutこの--timeout値は各コンポーネントのインストールに個別に適用され、すべてのコンポーネントのインストールに適用されるわけではありません。そのため、--timeout=3m、Helmのインストールを3分後に中止するつもりで実行すると、インストールされたコンポーネントのどれもがインストールに3分以上かからなかったため、インストールが5分後に完了する可能性があります。
特定のバージョンの GitLab をインストールしたい場合は、--version <installation version> オプションを使用することもできます。
ChartのバージョンとGitLabのバージョン間のマッピングについては、GitLabのバージョンマッピングをお読みください。
タグ付きリリースではなく開発ブランチをインストールする手順は、開発者デプロイのドキュメントにあります。
デプロイの監視
デプロイが終了すると、インストールされたリソースのリストが出力されます(5~10分かかる場合があります)。
デプロイのステータスは、helm status gitlab を実行することで確認できます。別のターミナルでコマンドを実行すれば、デプロイ中に実行することもできます。
初期ログイン
インストール時に指定したドメインにアクセスすることで、GitLabインスタンスにアクセスすることができます。グローバルホストの設定が変更されていなければ、デフォルトのドメインはgitlab.example.com です。初期 root パスワードのシークレットを手動で作成した場合は、それを使ってユーザーとしてサインインできますroot 。 rootそうでなければroot 、GitLabは自動的に rootユーザーroot 用のランダムなパスワードを作成 rootします。これは次のコマンドで抽出できます(<name> をリリース名で置き換えてください - 上記のコマンドを使った場合はgitlab です)。
kubectl get secret <name>-gitlab-initial-root-password -ojsonpath='{.data.password}' | base64 --decode ; echo
コミュニティ版のデプロイ
デフォルトでは、HelmチャートはGitLabのEnterprise Editionを使用します。EnterpriseエディションはGitLabの無料のオープンコア版で、有料版にアップグレードすることで追加機能を利用できるようになります。必要であれば、MIT ExpatライセンスのCommunity Editionを使うこともできます。両者の違いについてはこちらをご覧ください。
コミュニティ版をデプロイするには、Helmインストールコマンドにこのオプションを含めます:
--set global.edition=ce
コミュニティ版からエンタープライズ版への変換
Community Edition をデプロイしてEnterprise Edition に変換したい場合は、--set global.edition=ce を指定せずに GitLab を再デプロイする必要があります。また、内部イメージ(例えば--set gitlab.unicorn.image.repository=registry.gitlab.com/gitlab-org/build/cng/gitlab-unicorn-ce )を指定した場合は、それらのイメージを省略する必要があります。
デプロイ後、Enterprise Editionのライセンスをアクティベートすることができます。
推奨される次のステップ
インストールが完了したら、認証オプションやサインアップの制限など、推奨される次のステップに進むことを検討してください。