正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

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

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

Google Cloud(GCP)サービスアカウントを作成する

これらの手順に従って、Google Cloudのサービスアカウントをcloud-nativeプロジェクトに作成します。そのドキュメントで必須とマークされているすべてのロールをアタッチします。サービスアカウントが作成されたら、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_NAMEocp-$USERクラスターの名前
BASE_DOMAINk8s-ft.winクラスターのルートドメイン
GCP_PROJECT_IDcloud-native-182609Google CloudプロジェクトID
GCP_REGIONus-central1クラスターのGoogle Cloudリージョン
GOOGLE_APPLICATION_CREDENTIALSgcloud.jsonGoogle CloudサービスアカウントJSONファイルへのパス
GOOGLE_CREDENTIALS$GOOGLE_APPLICATION_CREDENTIALSの内容Google CloudサービスアカウントJSONファイルの内容
PULL_SECRET_FILEpull_secretRed Hatプルシークレットファイルへのパス
PULL_SECRET$PULL_SECRET_FILEの内容Red Hatプルシークレットファイルの内容
SSH_PUBLIC_KEY_FILE$HOME/.ssh/id_rsa.pubSSH公開キーファイルへのパス
SSH_PUBLIC_KEY$SSH_PUBLIC_KEY_FILEの内容SSH公開キーファイルの内容
LOG_LEVELinfoopenshift-install出力の詳細度
INSTALL_DIRinstall-$CLUSTER_NAME複数のクラスターの起動に役立つインストールアセット用のディレクトリ

変数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

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

変数デフォルト————————————-説明
GOOGLE_APPLICATION_CREDENTIALSgcloud.jsonGoogle CloudサービスアカウントJSONファイルへのパス
GOOGLE_CREDENTIALS$GOOGLE_APPLICATION_CREDENTIALSの内容Google CloudサービスアカウントJSONファイルの内容
LOG_LEVELinfoopenshift-install出力の詳細度
INSTALL_DIRinstall-$CLUSTER_NAME複数のクラスターの起動に役立つインストールアセット用のディレクトリ

次の手順

クラスターが起動して実行されたら、GitLabのインストールを続行できます。

リソース