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

GKEリソースをGitLabチャート用に準備する

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab Self-Managed

完全に機能するGitLabインスタンスの場合、GitLabチャートをデプロイする前に、いくつかのリソースが必要になります。以下に、これらのチャートがGitLab内でどのようにデプロイおよびテストされるかを示します。

GKEクラスタの作成

簡単に開始できるように、クラスターの作成を自動化するスクリプトが用意されています。または、クラスターを手動で作成することもできます。

前提要件:

スクリプト化されたクラスターの作成

ブートストラップスクリプトが作成され、GCP/GKEのユーザー向けに設定プロセスの多くを自動化します。

このスクリプトは次のことを行います:

  1. 新しいGKEクラスタを作成します。
  2. クラスタがDNSレコードを変更できるようにします。
  3. kubectlをセットアップし、それをクラスターに接続します。

このスクリプトは、環境変数と、ブートストラップの場合はup、クリーンアップの場合はdownの引数から、さまざまなパラメータを読み取ります。

以下の表に、すべての変数を示します。

変数デフォルト値説明
ADMIN_USER現在のgcloudユーザーセットアップ中にクラスタの管理者アクセスを割り当てるユーザー。
AUTOSCALE_MAX_NODESNUM_NODESオートスケーラーがスケールアップするノードの最大数。
AUTOSCALE_MIN_NODES0オートスケーラーがスケールダウンするノードの最小数。
CLUSTER_NAMEgitlab-clusterクラスターの名前。
CLUSTER_VERSIONGKEのデフォルト、GKEリリースノートを確認してくださいお使いのGKEクラスタのバージョン。
INT_NETWORKデフォルトはです。このクラスタ内で使用するIP空間。
MACHINE_TYPEn2d-standard-4クラスタインスタンスのタイプ。
NUM_NODES2必要なノードの数。
PREEMPTIBLEfalseより安価なクラスタは、最大24時間稼働します。ノード/ディスクにSLAはありません。
PROJECTデフォルトはありません。設定する必要があります。GCPプロジェクトのID。
RBAC_ENABLEDtrueクラスタでRBACが有効になっているかどうかを知っている場合は、この変数を設定します。
REGIONus-central1クラスタが存在するリージョン。
SUBNETWORKデフォルトはです。このクラスタ内で使用するサブネットワーク。
USE_STATIC_IPfalse管理対象のDNSを持つ一時的なIPの代わりに、GitLabの静的IPを作成します。
ZONE_EXTENSIONbクラスタインスタンスが存在するゾーン名の拡張子(abc)。

必要なパラメータを渡して、スクリプトを実行します。必須のPROJECTを除き、デフォルトのパラメータで動作します:

PROJECT=<gcloud project id> ./scripts/gke_bootstrap_script.sh up

このスクリプトは、作成されたGKEリソースのクリーンアップにも使用できます:

PROJECT=<gcloud project id> ./scripts/gke_bootstrap_script.sh down

クラスタが作成されたら、DNSエントリの作成に進みます。

手動によるクラスターの作成

GCPで作成する必要のあるリソースは、Kubernetesクラスタと外部IPの2つです。

Kubernetesクラスタの作成

Kubernetesクラスタを手動でプロビジョニングするには、GKEの手順に従ってください。

  • 4vCPUと15GBのRAMを搭載したノードを少なくとも2つ持つクラスタをお勧めします。
  • クラスタのリージョンをメモしておいてください。次のステップで必要になります。

外部IPの作成

クラスターを到達可能にするため、外部IPが必要です。外部IPは、リージョンであり、クラスタ自体と同じリージョンにある必要があります。グローバルIPまたはクラスタのリージョン外のIPは機能しません

静的IPを実行するには、次のようにします:

gcloud compute addresses create ${CLUSTER_NAME}-external-ip --region $REGION --project $PROJECT

新しく作成されたIPのアドレスを取得するには:

gcloud compute addresses describe ${CLUSTER_NAME}-external-ip --region $REGION --project $PROJECT --format='value(address)'

次のセクションでは、このIPを使用してDNS名にバインドします。

DNSエントリ

クラスタを手動で作成した場合、またはスクリプトによる作成でUSE_STATIC_IPオプションを使用した場合は、作成したIPを指すAレコードワイルドカードDNSエントリを含むパブリックドメインが必要になります。

Google DNSクイックスタートガイドに従って、DNSエントリを作成します。

次の手順

クラスタが起動して実行され、静的IPとDNSエントリの準備ができたら、チャートのインストールに進みます。