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-installocPATHに配置します。

プルシークレットをクリップボードにコピーし、その内容をこのリポジトリのルートにあるファイルpull_secret に書き込みます。このファイルは gitignored されます。

Google Cloud(GCP) Service アカウントの作成

以下の手順に従っ て、 Google Cloudcloud-native プ ロ ジ ェ ク ト にサービ ス ア カ ウ ン ト を作成 し ます。そのドキュメントで Required とマークされたロールをすべてアタッチします。サービス アカウントを作成したら、JSON キーを生成し、このリポジトリのルートにgcloud.json として保存します。このファイルは gitignored されます。

OpenShift クラスターを作成します。

OpenShiftクラスターを作成します:

  1. GitLab Operatorリポジトリをクローンします:

    git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
    
  2. Google CloudにOpenShiftクラスターを作成するスクリプトを実行します:

    cd gitlab-operator
    ./scripts/create_openshift_cluster.sh
    

これは、3つのコントロールプレーン(マスター)ノードと3つのワーカーノードで構成される6ノードのクラスターになります。このプロセスには約40分かかります。コンソール出力の最後にある指示に従ってクラスターに接続します。

作成が完了すると、クラスターがRed Hat クラウドに登録されていることが確認できるはずです。すべてのインストールログとメタデータは、このリポジトリのinstall-$CLUSTER_NAME/ ディレクトリーに保存されます。このディレクトリーは gitignored されます。

設定オプション

環境変数を設定することで、実行時に設定を適用することができます。すべてのオプションにはデフォルトがあるので、オプションは必要ありません。

変数説明デフォルト CLUSTER_NAME |クラスター名|ocp-$USERBASE_DOMAIN |クラスターのルートドメイン|k8s-ft.winGCP_PROJECT_ID|GoogleクラウドプロジェクトID|cloud-native-182609GCP_REGION|クラスターのGoogleクラウド地域|us-central1GOOGLE_APPLICATION_CREDENTIALS|GoogleクラウドサービスアカウントのJSONファイルへのパス|gcloud.jsonGOOGLE_CREDENTIALS|GoogleクラウドサービスアカウントのJSONファイルの内容| |GoogleクラウドサービスアカウントのJSONファイルの内容$GOOGLE_APPLICATION_CREDENTIALS  PULL_SECRET_FILEPath to Red Hat pull secret filepull_secret PULL_SECRETContent of Red Hat pull secret fileContent of$PULL_SECRET_FILE  SSH_PUBLIC_KEY_FILEPath to SSH public key file$HOME/.ssh/id_rsa.pub SSH_PUBLIC_KEYContent of SSH public key fileContent of$SSH_PUBLIC_KEY_FILE  LOG_LEVELVerbosity ofopenshift-install outputinfoINSTALL_DIRインストール資産のディレクトリ、複数のクラスターを起動するのに便利install-$CLUSTER_NAME
note
変数CLUSTER_NAMEBASE_DOMAIN を組み合わせてクラスターのドメイン名を構築します。

OpenShift クラスターを破棄します。

OpenShiftクラスターを破棄するには:

  1. GitLab Operatorリポジトリをクローンします:

    git clone https://gitlab.com/gitlab-org/cloud-native/gitlab-operator.git
    
  2. Google CloudのOpenShiftクラスターを破棄するスクリプトを実行します。これには約4分かかります:

    cd gitlab-operator
    ./scripts/destroy_openshift_cluster.sh
    

以下の環境変数を設定することで、実行時に設定を適用できます。すべてのオプションにはデフォルトがあり、オプションは必須ではありません。

VariableDescriptionDefault -- GOOGLE_APPLICATION_CREDENTIALSPath to Google Cloud service account JSON filegcloud.json GOOGLE_CREDENTIALSContent of Google Cloud service account JSON fileContent of$GOOGLE_APPLICATION_CREDENTIALS  LOG_LEVELVerbosity ofopenshift-install outputinfo INSTALL_DIRDirectory for install assets, useful for launching multiple clustersinstall-$CLUSTER_NAME.

次のステップ

クラスターが稼働したら、GitLabのインストールを続けます。

リソース