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のライセンスをアクティベートすることができます。
推奨される次のステップ
インストールが完了したら、認証オプションやサインアップの制限など、推奨される次のステップに進むことを検討してください。