ノードプールを作成して管理する

このページでは、Distributed Cloud 接続ゾーンで Google Distributed Cloud ノードプール リソースを作成して管理する方法について説明します。

クラスタを作成すると、ノードプールが自動的に作成され、入力されます。クラスタの作成後に、追加のノードプールを構成することもできます。

Distributed Cloud ノードプールの詳細については、Distributed Cloud 接続の仕組みをご覧ください。

ノードプールを作成

Distributed Cloud ノードプールを作成するには、このセクションの手順を行います。

このタスクを完了するには、Google Cloud プロジェクトに次のロールが必要です。

  • Edge コンテナ管理者ロールroles/edgecontainer.admin
  • Edge コンテナ マシン ユーザー ロールroles/edgecontainer.machineUser

    このロールは、このノードプールに割り当てられる Distributed Cloud 接続マシンを含む Google Cloud プロジェクトにも必要です。ただし、そのプロジェクトがノードプールを作成するGoogle Cloud プロジェクトと異なる場合に限ります。

コンソール

Google Cloud コンソールを使用している場合は、クラスタの作成時にのみノードプールを作成できます。スタンドアロン ノードプールを作成するには、Google Cloud CLI または Distributed Cloud Edge Container API を使用する必要があります。

gcloud

gcloud edge-cloud container clusters node-pools create コマンドを使用します。

gcloud edge-cloud container clusters node-pools create POOL_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --node-location=ZONE_NAME \
    --node-count=NODE_COUNT \
    --node-labels=NODE_LABELS \
    --machine-filter=MACHINE_FILTER \
    --local-disk-kms-key=POOL_KMS_KEY \
    --node-storage-schema=WORKER_NODE_STORAGE_SCHEMA

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

  • POOL_NAME: このノードプールを一意に識別する説明的な名前。この名前は RFC 1213 に準拠し、小文字の英数字とハイフン(-)のみで構成する必要があります。先頭と末尾は英数字にする必要があります。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールのターゲット Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。
  • ZONE_NAME: ターゲットの Distributed Cloud ゾーンの名前。このゾーンは、REGION で指定されたリージョンに存在する必要があります。
  • NODE_COUNT: このノードプールが保持するノードの数。
  • NODE_LABELS: ノードプール内の個々のノードのラベルを構成する Key-Value ペアのカンマ区切りのリスト。
  • MACHINE_FILTER(省略可): マシン選択のフィルタリング条件を指定します。フィルタリングに使用できるフィールドを確認するには、マシンの情報を取得するをご覧ください。このフィルタに一致するマシンのみがこのノードプールに参加できます。マルチラック クラスタの場合は、このフラグを使用して、ノードがこのノードプールを構成する Distributed Cloud 接続ラックを指定します。省略すると、ゾーン内の使用可能なすべてのノードがこのノードプールに追加されます。
  • POOL_KMS_KEY(省略可): このノードプールで使用する Cloud KMS 鍵のフルパス。次に例を示します。

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    このフラグは、ローカル ストレージの顧客管理の暗号鍵(CMEK)のサポートを有効にするで説明されているように、Cloud Key Management Service と統合された Distributed Cloud Connected を使用している場合にのみ適用されます。

  • WORKER_NODE_STORAGE_SCHEMA(省略可): このノードプールに含まれるワーカーノードのローカル ストレージ スキーマを指定します。詳細については、ローカル ストレージ スキーマを構成するをご覧ください。

API

projects.locations.clusters.nodePools.create メソッドに POST リクエストを送信します。

POST /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME?nodePoolId=NODEPOOL_ID&requestId=REQUEST_ID
{
 "name": POOL_NAME,
 "labels": { LABELS,
  },
 "nodeLocation": ZONE_NAME,
 "nodeCount": NODE_COUNT,
 "nodeLabels": NODE_LABELS,
 "machineFilter": MACHINE_FILTER,
 "localDiskEncryption": {
   "kmsKey": POOL_KMS_KEY,
  }
}

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールのターゲット Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。
  • NODEPOOL_ID: このノードプール リソースを識別する一意のプログラム ID。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • POOL_NAME: このノードプールを一意に識別する説明的な名前。
  • LABELS: このノードプール リソースに適用するラベルのリスト。
  • ZONE_NAME: ターゲットの Distributed Cloud 接続ゾーンの名前。このゾーンは、REGION で指定されたリージョンに存在する必要があります。
  • NODE_COUNT: このノードプールが保持するノードの数。
  • NODE_LABELS: ノードプール内の個々のノードのラベルを構成する Key-Value ペアのカンマ区切りのリスト。
  • MACHINE_FILTER(省略可): マシン選択のフィルタリング条件を指定します。このフィルタに一致するマシンのみが、このノードプールに参加できます。マルチラック クラスタの場合は、このフラグを使用して、ノードがこのノードプールを構成する Distributed Cloud 接続ラックを指定します。省略すると、ゾーン内の使用可能なすべてのノードがこのノードプールに追加されます。
  • POOL_KMS_KEY(省略可): このノードプールで使用する Cloud KMS 鍵のフルパス。次に例を示します。

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    このパラメータは、ローカル ストレージの顧客管理の暗号鍵(CMEK)のサポートを有効にするで説明されているように、Cloud Key Management Service と統合された Distributed Cloud Connected を使用している場合にのみ適用されます。

ノードプールのリスト表示

Distributed Cloud 接続ゾーンで使用可能な Distributed Cloud ノードプールを一覧表示するには、このセクションの手順を行います。

このタスクを完了するには、 Google Cloud プロジェクトに対する Edge コンテナ閲覧者ロールroles/edgecontainer.viewer)が必要です。

gcloud

gcloud edge-cloud container clusters node-pools list コマンドを使用します。

gcloud edge-cloud container clusters node-pools list \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成された Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。

API

projects.locations.clusters.nodePools.list メソッドに GET リクエストを送信します。

GET /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools?filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成された Google Cloud リージョン。
  • CLUSTER_NAME: 対象とする Distributed Cloud クラスタの名前。
  • FILTER: 返される結果を特定の値に制限する式。
  • PAGE_SIZE: ページごとに返す結果の数
  • SORT_BY: 返される結果の並べ替えの基準とするフィールド名のカンマ区切りリストデフォルトの並べ替え順は昇順です。降順で並べ替えるには、目的のフィールドに ~ という接頭辞を付けます。
  • PAGE_TOKEN: レスポンスの nextPageToken フィールドで、最後のリスト リクエストのレスポンスで受け取ったトークン。このトークンを送信して、結果のページを受け取ります。

ノードプールに関する情報を取得する

Distributed Cloud ノードプールに関する情報を取得するには、このセクションの手順を行います。

このタスクを完了するには、 Google Cloud プロジェクトに対する Edge コンテナ閲覧者ロールroles/edgecontainer.viewer)が必要です。

gcloud

gcloud edge-cloud container clusters node-pools describe コマンドを使用します。

gcloud edge-cloud container clusters node-pools describe POOL_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME

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

  • POOL_NAME: ターゲット ノードプールの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールに関連付けられている Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。

API

projects.locations.clusters.nodePools.get メソッドに GET リクエストを送信します。

GET /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools/POOL_NAME

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールに関連付けられている Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。
  • POOL_NAME: ターゲット ノードプールの名前。

ノードプールを変更する

Distributed Cloud ノードプールを変更するには、このセクションの手順を行います。

このタスクを完了するには、 Google Cloud プロジェクトに対する Edge コンテナ管理者ロールroles/edgecontainer.admin)が必要です。

gcloud

gcloud edge-cloud container clusters node-pools update コマンドを使用します。

gcloud edge-cloud container clusters node-pools update POOL_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME \
    --node-count=NODE_COUNT \
    --machine-filter=MACHINE_FILTER \
    --local-disk-kms-key=POOL_KMS_KEY

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

  • POOL_NAME: ターゲット ノードプールの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールに関連付けられている Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲットの Distributed Cloud 接続クラスタの名前。
  • NODE_COUNT: このノードプールが保持するノードの数。
  • MACHINE_FILTER(省略可): マシン選択のフィルタリング条件を指定します。フィルタリングに使用できるフィールドを確認するには、マシンの情報を取得するをご覧ください。マルチラック クラスタの場合は、このフラグを使用して、ノードがこのノードプールを構成する Distributed Cloud 接続ラックを指定します。
  • POOL_KMS_KEY(省略可): このノードプールで使用する Cloud KMS 鍵のフルパス。次に例を示します。

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    このフラグは、ローカル ストレージの顧客管理の暗号鍵(CMEK)のサポートを有効にするで説明されているように、Cloud Key Management Service と統合された Distributed Cloud Connected を使用している場合にのみ適用されます。

    ノードプールを元に戻して Google-owned and Google-managed encryption keyを使用するには、--use-google-managed-key フラグを使用します。

API

projects.locations.clusters.nodePools.patch メソッドに PATCH リクエストを送信します。

PATCH /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME?nodePoolId=NODEPOOL_ID&requestId=REQUEST_ID
{
 "name": POOL_NAME,
 "labels": { LABELS,
  },
 "nodeLocation": ZONE_NAME,
 "nodeCount": NODE_COUNT,
 "machineFilter": MACHINE_FILTER,
 "localDiskEncryption": {
   "kmsKey": KMS_KEY,
  }
}

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールに関連付けられている Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。
  • NODEPOOL_ID: このノードプールを識別する一意のプログラム ID。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • POOL_NAME: このノードプールを一意に識別する説明的な名前。
  • LABELS: このノードプール リソースに適用するラベルのリスト。
  • ZONE_NAME: ターゲットの Distributed Cloud 接続ゾーンの名前。このゾーンは、REGION で指定されたリージョンに存在する必要があります。
  • NODE_COUNT: このノードプールが保持するノードの数。
  • MACHINE_FILTER(省略可): マシン選択のフィルタリング条件を指定します。このフィルタに一致するマシンのみが、このノードプールに参加できます。マルチラック クラスタの場合は、このフラグを使用して、ノードがこのノードプールを構成する Distributed Cloud 接続ラックを指定します。
  • KMS_KEY(省略可): このノードプールで使用する Cloud KMS 鍵のフルパス。次に例を示します。

    /projects/myProject/locations/us-west1-a/keyRings/myKeyRing/cryptoKeys/myGDCE-Key
    

    このパラメータは、ローカル ストレージの顧客管理の暗号鍵(CMEK)のサポートを有効にするで説明されているように、Cloud Key Management Service と統合された Distributed Cloud Connected を使用している場合にのみ適用されます。

ノードプールの削除

Distributed Cloud ノードプールを削除するには、このセクションの手順を完了します。

このタスクを完了するには、 Google Cloud プロジェクトに対する Edge コンテナ管理者ロールroles/edgecontainer.admin)が必要です。

gcloud

gcloud edge-cloud container clusters node-pools delete コマンドを使用します。

gcloud edge-cloud container clusters node-pools delete POOL_NAME \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster=CLUSTER_NAME

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

  • POOL_NAME: ターゲット ノードプールの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールに関連付けられている Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。

API

projects.locations.clusters.nodePools.delete メソッドに DELETE リクエストを送信します。

DELETE /v1/PROJECT_ID/locations/REGION/clusters/CLUSTER_NAME/nodePools/POOL_NAME?requestId=REQUEST_ID

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: このノードプールに関連付けられている Distributed Cloud 接続クラスタがホストされている Google Cloud リージョン。
  • CLUSTER_NAME: ターゲット Distributed Cloud 接続クラスタの名前。
  • POOL_NAME: ターゲット ノードプールの名前。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。

次のステップ