Arm ノードを含むノードプールとクラスタを作成する


このページでは、Arm ノードを含む GKE Standard クラスタまたはノードプールを作成し、Google Kubernetes Engine(GKE)で Arm ワークロードを実行できるようにする方法について説明します。Autopilot クラスタに Arm ワークロードをデプロイする方法については、Arm アーキテクチャに Autopilot ワークロードをデプロイするをご覧ください。

Tau T2A マシンシリーズは、Google Cloud で使用できる初の Arm ベースのマシンシリーズです。Arm の利点とワークロードに最適なマシンシリーズの選択については、Compute での Arm VM をご覧ください。

GKE では、1 つのアーキテクチャ タイプ(Arm など)または複数のアーキテクチャ タイプ(Arm と x86 など)を持つノードプールを含むクラスタを作成できます。複数のアーキテクチャ タイプのノードを実行する場合は、これらのアーキテクチャのワークロードを同じクラスタにデプロイできます。

GKE クラスタで Arm ノードを使用する方法については、GKE での Arm ワークロードをご覧ください。

始める前に

作業を始める前に、次のことを確認してください。

  • Google Kubernetes Engine API を有効にします。
  • Google Kubernetes Engine API の有効化
  • このタスクに Google Cloud CLI を使用する場合は、gcloud CLI をインストールして初期化します。すでに gcloud CLI をインストールしている場合は、gcloud components update を実行して最新のバージョンを取得します。
  • Arm ノードを含むクラスタを作成するには、GKE バージョン 1.24 以降を使用する必要があります。すべての Arm ノードの要件と制限事項の一覧をご確認ください。

  • クラスタを作成するための適切な権限があることを確認します。少なくとも、Kubernetes Engine Cluster 管理者である必要があります。

Arm ノードプールを含むクラスタを作成する

次の手順では、Tau T2A マシンシリーズから Arm ノードを実行するノードプールを含む新しいクラスタを作成する方法について説明します。

gcloud CLI、Google Cloud コンソール、または Terraform を使用してクラスタを作成できます。

gcloud

Arm ノードを含むデフォルトのノードプールがある新しいゾーンクラスタを作成します。

gcloud container clusters create CLUSTER_NAME \
    --zone ZONE  \
    --node-locations NODE_LOCATIONS \
    --machine-type T2A_MACHINE_TYPE \
    --num-nodes NUM_NODES

次のように置き換えます。

  • CLUSTER_NAME: Arm ノードプールを含む新しいクラスタの名前。
  • ZONE: クラスタのゾーン(us-central1-a など)。このゾーンは、Tau T2A マシンシリーズの使用可能なゾーンのいずれかである必要があります。リージョン クラスタを作成するには、--region=REGION フラグを使用します。リージョンは、Tau T2A マシンシリーズの使用可能なリージョンのいずれかである必要があります。
  • NODE_LOCATIONS: ノードプールのゾーン(us-central1-a など)。Tau T2A マシンシリーズの使用可能なゾーンから選択する必要があります。このように選択しないと、ノードプールの作成が失敗する場合があります。
  • T2A_MACHINE_TYPE: 使用可能な T2A マシンシェイプのいずれか(t2a-standard-16 など)。
  • NUM_NODES: Arm ノードプールのノード数。

クラスタに追加設定を行う場合は、gcloud container clusters create リファレンスを参照して、クラスタ作成時に利用可能なすべての設定の一覧を確認してください。

コンソール

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. [ 作成] をクリックします。

  3. 必要に応じてクラスタを構成します。詳細については、ゾーンクラスタを作成するまたはリージョン クラスタの作成の手順をご覧ください。

  4. Arm ノードを使用できるロケーションを選択します。

    1. [クラスタの基本] セクションの [ロケーション タイプ] で、[ゾーン] または [リージョン] を選択します。
    2. プルダウン メニューで、Arm ノードを使用できるゾーンまたはリージョンを選択します。
    3. [デフォルトのノードのロケーションを指定する] チェックボックスをオンにします。Arm ノードを使用できるゾーンを選択します。
  5. Arm マシンタイプを選択するには、[ノード] サブセクションの [ノード設定を構成する] > [マシンの構成] > [マシン ファミリー] で [汎用] を選択します。[シリーズ] プルダウン メニューで T2A を選択します。[マシンタイプ] プルダウン メニューで、使用可能なオプションのいずれかを選択します。

  6. [作成] をクリックします。

Terraform

Terraform を使用して Arm ノードを使用するデフォルト ノードプールを持つゾーンクラスタを作成するには、次の例をご覧ください。

resource "google_container_cluster" "default" {
  name               = "gke-standard-zonal-arm-cluster"
  location           = "us-central1-a"
  node_locations     = ["us-central1-b", "us-central1-f"]
  initial_node_count = 2

  node_config {
    machine_type    = "t2a-standard-1"
    service_account = google_service_account.default.email
  }

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

Terraform の使用方法の詳細については、GKE での Terraform のサポートをご覧ください。

GKE クラスタに Arm ノードプールを追加する

新しいノードプールを GKE Standard クラスタに追加するには、gcloud CLI、Google Cloud コンソール、または Terraform を使用します。

任意のタイプのノードを使用する GKE クラスタを作成するためのベスト プラクティスとして、Compute Engine のデフォルトのサービス アカウントではなく、使用するノードプール用に最小権限の Identity and Access Management(IAM)サービス アカウントを作成して使用することをおすすめします。最小権限のサービス アカウントを作成する手順については、クラスタのセキュリティの強化をご覧ください。

gcloud

Arm ノードプールを既存のクラスタに追加します。

gcloud container node-pools create NODE_POOL_NAME \
    --cluster CLUSTER_NAME \
    --zone ZONE \
    --node-locations NODE_LOCATIONS \
    --machine-type T2A_MACHINE_TYPE \
    --num-nodes NUM_NODES \
    --service-account SERVICE_ACCOUNT

次のように置き換えます。

  • NODE_POOL_NAME: 既存のクラスタの新しい Arm ノードプールの名前。
  • ZONE: 既存のクラスタのゾーン。リージョン クラスタの場合は、クラスタのリージョンを指定した --region=REGION フラグを使用します。
  • CLUSTER_NAME: Arm ノードプールを追加するクラスタの名前。
  • NODE_LOCATIONS: ノードプールのゾーン(us-central1-a など)。Tau T2A マシンシリーズの使用可能なゾーンから選択する必要があります。このように選択しないと、ノードプールの作成が失敗する場合があります。
  • T2A_MACHINE_TYPE: 使用可能な T2A マシンシェイプのいずれか(t2a-standard-16 など)。
  • NUM_NODES: Arm ノードプールのノード数。
  • SERVICE_ACCOUNT: ノードで使用する IAM サービス アカウントの名前。省略した場合、ノードプールは Compute Engine のデフォルトのサービス アカウントを使用します。

ノードプールに追加設定を行う場合は、gcloud container node-pools create リファレンスでノードプールの作成時に使用可能なすべての設定の一覧を確認してください。

コンソール

Arm ノードプールを既存のクラスタに追加する手順は、次のとおりです。

  1. Google Cloud コンソールで Google Kubernetes Engine のページに移動します。

    Google Kubernetes Engine に移動

  2. クラスタのリストで、変更するクラスタの名前をクリックします。

  3. [ノードプールを追加] をクリックします。

  4. ノードプールを構成します。

  5. Arm ノードを使用できるノードのロケーションを選択します。

    1. [ノードプールの詳細] セクションで、[ノードのロケーションを指定する] チェックボックスをオンにします。
    2. Arm ノードを使用できるゾーンを選択します。
  6. Arm マシンタイプを選択するには、[ノード] サブセクションの [ノード設定を構成する] > [マシンの構成] > [マシン ファミリー] で [汎用] を選択します。[シリーズ] プルダウン メニューで T2A を選択します。[マシンタイプ] プルダウン メニューで、使用可能なオプションのいずれかを選択します。

  7. ナビゲーション メニューで [セキュリティ] をクリックします。

  8. [サービス アカウント] プルダウン メニューで、使用するノードプールに IAM サービス アカウントを選択します。デフォルトでは、ノードプールは Compute Engine のデフォルトのサービス アカウントを使用します。

  9. [作成] をクリックしてノードプールを追加します。

Terraform

Terraform を使用して Arm ノードを使用するノードプールを既存のクラスタに追加するには、次の例をご覧ください。

resource "google_container_node_pool" "default" {
  name           = "gke-standard-zonal-arm-node-pool"
  cluster        = google_container_cluster.default.id
  node_locations = ["us-central1-a"]
  node_count     = 1

  node_config {
    machine_type = "t2a-standard-1"

    service_account = google_service_account.default.email
  }
}

google_container_cluster.default.id は、使用するクラスタの名前に置き換えます。

Terraform の使用方法の詳細については、GKE での Terraform のサポートをご覧ください。

次のステップ