GitLabチャート用のOpenShiftリソースの準備
このドキュメントでは、このプロジェクトの自動化スクリプトを使用して Google Cloud に OpenShift クラスターを作成する手順を説明します。
準備
まず、GitLab のメールに関連付けられた Red Hat アカウントを持っている必要があります。Red Hat アライアンス・リエゾンに連絡してください。アカウントの招待メールを送るよう手配してくれます。Red Hat アカウントをアクティブにすると、OpenShift を実行するために必要なライセンスとサブスクリプションにアクセスできるようになります。
Google Cloud でクラスターを起動するには、公開クラウド DNS ゾーンを登録ドメインに接続し、Google Cloud DNS で設定する必要があります。ドメインがまだ利用可能でない場合は、このガイドの手順に従って作成してください。
CLIツールとPull Secretの入手
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) Service アカウントの作成
以下の手順に従っ て、 Google Cloudcloud-native
プ ロ ジ ェ ク ト にサービ ス ア カ ウ ン ト を作成 し ます。そのドキュメントで Required とマークされたロールをすべてアタッチします。サービス アカウントを作成したら、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 |GoogleクラウドプロジェクトID|cloud-native-182609 |GCP_REGION |クラスターのGoogleクラウド地域|us-central1 |GOOGLE_APPLICATION_CREDENTIALS |GoogleクラウドサービスアカウントのJSONファイルへのパス|gcloud.json |GOOGLE_CREDENTIALS |GoogleクラウドサービスアカウントのJSONファイルの内容| |GoogleクラウドサービスアカウントのJSONファイルの内容$GOOGLE_APPLICATION_CREDENTIALS
| PULL_SECRET_FILE | Path to Red Hat pull secret file | pull_secret | PULL_SECRET | Content of Red Hat pull secret file | Content of$PULL_SECRET_FILE
| SSH_PUBLIC_KEY_FILE | Path to SSH public key file | $HOME/.ssh/id_rsa.pub | SSH_PUBLIC_KEY | Content of SSH public key file | Content of$SSH_PUBLIC_KEY_FILE
| LOG_LEVEL | Verbosity ofopenshift-install output | info | 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
以下の環境変数を設定することで、実行時に設定を適用できます。すべてのオプションにはデフォルトがあり、オプションは必須ではありません。
Variable | Description | Default | - | - | GOOGLE_APPLICATION_CREDENTIALS | Path to Google Cloud service account JSON file | gcloud.json | GOOGLE_CREDENTIALS | Content of Google Cloud service account JSON file | Content of$GOOGLE_APPLICATION_CREDENTIALS
| LOG_LEVEL | Verbosity ofopenshift-install output | info | INSTALL_DIR | Directory for install assets, useful for launching multiple clusters | install-$CLUSTER_NAME | . |
次のステップ
クラスターが稼働したら、GitLabのインストールを続けます。