GitLabチャートのOpenShiftリソースの準備
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab Self-Managed
このドキュメントでは、このプロジェクトの自動化スクリプトを使用して、Google CloudにOpenShiftクラスターを作成する方法を説明します。
準備
まず、GitLabメールに関連付けられたRed Hatアカウントが必要です。Red Hat Allianceの担当者にお問い合わせください。メールでアカウント招待状が送信されるように手配します。Red Hatアカウントをアクティブにすると、OpenShiftの実行に必要なライセンスとサブスクリプションにアクセスできるようになります。
Google Cloudでクラスターを起動するには、パブリックCloud DNSゾーンを登録済みドメインに接続し、Google Cloud DNSで構成する必要があります。ドメインがまだ利用できない場合は、このガイドの手順に従って作成してください。
CLIツールとプルシークレットを取得する
OpenShiftクラスター(openshift-install)を作成し、クラスター(oc)を操作するには、2つのCLIツールが必要です。
Red HatのプライベートDockerレジストリからイメージをフェッチするには、プルシークレットが必要です。すべてのデベロッパーには、Red Hatアカウントに関連付けられた異なるプルシークレットがあります。
CLIツールとプルシークレットを取得するには、Red Hatのクラウドにアクセスし、Red Hatアカウントでログインします。このページで、インストーラーとコマンドラインツールの最新バージョンを、指定されたリンクからダウンロードします。これらのパッケージを解凍し、openshift-installとocをPATHに配置します。
プルシークレットをクリップボードにコピーし、コンテンツをこのリポジトリのルートにあるファイルpull_secretに書き込みます。このファイルはgitignoredです。
Google Cloud(GCP)サービスアカウントを作成する
これらの手順に従って、Google Cloudのサービスアカウントをcloud-nativeプロジェクトに作成します。そのドキュメントで必須とマークされているすべてのロールをアタッチします。サービスアカウントが作成されたら、JSONキーを生成し、このリポジトリのルートにgcloud.jsonとして保存します。このファイルはgitignoredです。
OpenShiftクラスターを作成する
OpenShiftクラスターを作成するには、次の手順を実行します:
GitLab Operatorリポジトリをクローンします:
git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.gitスクリプトを実行して、Google CloudにOpenShiftクラスターを作成します:
cd gitlab-operator ./scripts/create_openshift_cluster.sh
これは、3つのコントロールプレーン(メイン)ノードと3つのワーカーノードを持つ6ノードクラスターになります。このプロセスには約40分かかります。コンソールの出力の最後にある指示に従って、クラスターに接続します。
作成が完了すると、Red Hatクラウドにクラスターが登録されていることがわかります。すべてのインストールログとメタデータは、このリポジトリのinstall-$CLUSTER_NAME/ディレクトリに保存されます。このディレクトリはgitignoredです。
設定オプション
設定は、環境変数を設定することにより、ランタイム時に適用できます。すべてのオプションにはデフォルトがあるため、オプションは必要ありません。
| 変数 | デフォルト | 説明 |
|---|---|---|
CLUSTER_NAME | ocp-$USER | クラスターの名前 |
BASE_DOMAIN | k8s-ft.win | クラスターのルートドメイン |
GCP_PROJECT_ID | cloud-native-182609 | Google CloudプロジェクトID |
GCP_REGION | us-central1 | クラスターのGoogle Cloudリージョン |
GOOGLE_APPLICATION_CREDENTIALS | gcloud.json | Google CloudサービスアカウントJSONファイルへのパス |
GOOGLE_CREDENTIALS | $GOOGLE_APPLICATION_CREDENTIALSの内容 | Google CloudサービスアカウントJSONファイルの内容 |
PULL_SECRET_FILE | pull_secret | Red Hatプルシークレットファイルへのパス |
PULL_SECRET | $PULL_SECRET_FILEの内容 | Red Hatプルシークレットファイルの内容 |
SSH_PUBLIC_KEY_FILE | $HOME/.ssh/id_rsa.pub | SSH公開キーファイルへのパス |
SSH_PUBLIC_KEY | $SSH_PUBLIC_KEY_FILEの内容 | SSH公開キーファイルの内容 |
LOG_LEVEL | info | openshift-install出力の詳細度 |
INSTALL_DIR | install-$CLUSTER_NAME | 複数のクラスターの起動に役立つインストールアセット用のディレクトリ |
変数CLUSTER_NAMEとBASE_DOMAINを組み合わせて、クラスターのドメイン名を作成します。
OpenShiftクラスターを削除する
OpenShiftクラスターを削除するには、次の手順を実行します:
GitLab Operatorリポジトリをクローンします:
git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.gitスクリプトを実行して、Google CloudでOpenShiftクラスターを削除します。これには約4分かかります:
cd gitlab-operator ./scripts/destroy_openshift_cluster.sh
環境変数を設定することにより、ランタイム時に設定を適用できます。すべてのオプションにはデフォルトがあるため、オプションは必要ありません。
| 変数 | デフォルト————————————- | 説明 |
|---|---|---|
GOOGLE_APPLICATION_CREDENTIALS | gcloud.json | Google CloudサービスアカウントJSONファイルへのパス |
GOOGLE_CREDENTIALS | $GOOGLE_APPLICATION_CREDENTIALSの内容 | Google CloudサービスアカウントJSONファイルの内容 |
LOG_LEVEL | info | openshift-install出力の詳細度 |
INSTALL_DIR | install-$CLUSTER_NAME | 複数のクラスターの起動に役立つインストールアセット用のディレクトリ |
次の手順
クラスターが起動して実行されたら、GitLabのインストールを続行できます。