クラスタの作成と管理

このページでは、Google Distributed Cloud 接続クラスタ リソースを作成して管理する方法について説明します。リリース 1.7.0 以降、Google Distributed Cloud コネクテッドは Cloud コントロール プレーン クラスタをサポートしなくなりました。

Distributed Cloud 接続クラスタの詳細については、Distributed Cloud 接続の仕組みをご覧ください。

前提条件

Distributed Cloud 接続クラスタを作成する前に、ターゲット Google Cloud プロジェクトで必要な API を有効にする必要があります。これを行うには、 Google Cloud プロジェクトで次のいずれかのロールが必要です。

  • オーナー(roles/owner
  • 編集者(roles/editor
  • Service Usage 管理者(roles/serviceusage.serviceUsageAdmin

これらのロールの詳細については、基本ロールをご覧ください。ロールの付与については、単一のロールを付与するをご覧ください。

Distributed Cloud 接続クラスタを作成するには、次の API を有効にします。

  • anthos.googleapis.com
  • anthosaudit.googleapis.com
  • anthosgke.googleapis.com
  • cloudresourcemanager.googleapis.com
  • connectgateway.googleapis.com
  • container.googleapis.com
  • edgecontainer.googleapis.com
  • gkeconnect.googleapis.com
  • gkehub.googleapis.com
  • gkeonprem.googleapis.com
  • iam.googleapis.com
  • logging.googleapis.com
  • monitoring.googleapis.com
  • opsconfigmonitoring.googleapis.com
  • serviceusage.googleapis.com
  • stackdriver.googleapis.com
  • storage.googleapis.com
  • sts.googleapis.com

API の有効化については、サービスの有効化をご覧ください。

クラスタを作成する前に、次のトピックについても理解しておいてください。

クラスタの作成

Distributed Cloud 接続クラスタを作成するには、このセクションの手順を完了します。クラスタの作成は、Distributed Cloud Connected にワークロードをデプロイするために必要な複数の手順の 1 つです。

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

コンソール

  1. Google Cloud コンソールで、Kubernetes の [クラスタ] ページに移動します。

    クラスタに移動

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

  3. [クラスタを作成] ページで、[オンプレミス] タブをクリックします。

  4. [Distributed Cloud Edge] オプションの横にある [構成] をクリックします。

  5. [クラスタの基本] ページで、次の情報を入力します。

    • 名前: このクラスタを識別する一意の名前。この名前は RFC 1213 に準拠し、小文字の英数字とハイフン(-)のみで構成する必要があります。先頭と末尾は英数字にする必要があります。
    • ロケーション: このクラスタを作成する Google Cloud リージョン。
    • ノードあたりのデフォルトの最大 Pod 数: このクラスタ内の各ノードで実行する Kubernetes Pod の最大数。
    • ラベル: [ラベルを追加] をクリックして、このクラスタに 1 つ以上のラベルを追加できます。
  6. 左側のナビゲーションで [コントロール プレーン] をクリックします。

  7. [コントロール プレーン] ページで、次の情報を入力します。

    • コントロール プレーンのロケーションとして [ローカル] を選択します。
    • ターゲットの Distributed Cloud 接続プロジェクトを選択します。
    • 移行先の Distributed Cloud コネクテッド ゾーンを選択します。
    • 必要に応じて、フィルタ条件を指定して、クラスタに追加する特定の Distributed Cloud マシンを選択します。
    • 高可用性クラスタにするかどうかを指定します。
    • ワークロードの共有デプロイを許可するかどうかを指定します。これにより、ワークロードはクラスタのコントロール プレーンを実行しているノードで実行できます。
  8. 左側のナビゲーションで [ネットワーキング] をクリックします。

  9. [ネットワーキング] ページで、次の情報を入力します。

    • クラスタのデフォルト Pod のアドレス範囲: このクラスタで実行される Kubernetes Pod の目的の IPv4 CIDR ブロック。
    • Service アドレス範囲: このクラスタで実行される Kubernetes Service の目的の IPv4 CIDR ブロック。

    詳細については、Distributed Cloud Pod とサービスのネットワーク アドレスの割り振りをご覧ください。

  10. 左側のナビゲーションで [Authorization] をクリックします。

  11. [承認] ページで、クラスタ リソースの変更を承認するターゲット Google Cloud プロジェクト内のユーザー アカウントの名前を指定します。

  12. 次のいずれかの方法で、ノードプールをクラスタに割り当てます。

    • 既存のノードプールをこのクラスタに割り当てるには、左側のナビゲーションの [ノードプール] セクションで既存のノードプールを選択し、[ノードプールの詳細] ページのノードプール構成が正しいことを確認します。
    • このクラスタに割り当てる新しいノードプールを作成するには、[ノードプールを追加] をクリックし、[ノードプールの詳細] ページで次の情報を入力します。
      • ノードプール名: このノードプールを識別する一意の名前。
      • ノードプールのラベル: [ラベルを追加] をクリックして、このノードプールに 1 つ以上のラベルを追加します。
      • ワーカーノードの設定: このノードプールに割り当てる Distributed Cloud 接続ノードを選択します。
  13. Distributed Cloud 接続クラスタを作成するには、[作成] をクリックします。

gcloud

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

gcloud edge-cloud container clusters create CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --fleet-project=FLEET_PROJECT_ID \
    --cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
    --cluster-ipv6-cidr=CLUSTER_IPV6_CIDR_BLOCK \
    --services-ipv4-cidr=SERVICE_IPV4_CIDR_BLOCK \
    --services-ipv6-cidr=SERVICE_IPV6_CIDR_BLOCK \
    --default-max-pods-per-node=MAX_PODS_PER_NODE \
    --release-channel RELEASE_CHANNEL \
    --control-plane-kms-key=CONTROL_PLANE_KMS_KEY \
    --control-plane-node-location=CONTROL_PLANE_LOCATION \
    --control-plane-node-count=CONTROL_PLANE_NODE_COUNT \
    --control-plane-machine-filter=CONTROL_PLANE_NODE_FILTER \
    --control-plane-shared-deployment-policy=CONTROL_PLANE_NODE_SHARING \
    --external-lb-ipv4-address-pools=IPV4_DATA_PLANE_ADDRESSES \
    --external-lb-ipv6-address-pools=IPV6_DATA_PLANE_ADDRESSES \
    --version SOFTWARE_VERSION \
    --offline-reboot-ttl REBOOT_TIMEOUT

 

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

  • CLUSTER_ID: このクラスタを識別する一意の名前。この名前は RFC 1213 に準拠し、小文字の英数字とハイフン(-)のみで構成する必要があります。先頭と末尾は英数字にする必要があります。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: クラスタが作成される Google Cloud リージョン。
  • FLEET_PROJECT_ID: クラスタが登録されているフリート ホスト プロジェクトの ID。このフラグを省略すると、Distributed Cloud 接続クラスタ プロジェクトがフリートホスト プロジェクトとして使用されます。
  • CLUSTER_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の IPv4 CIDR ブロック
  • CLUSTER_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の目的の IPv6 CIDR ブロック
  • SERVICE_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv4 CIDR ブロック
  • SERVICE_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv6 CIDR ブロック
  • MAX_PODS_PER_NODE(省略可): このクラスタ内の各ノードで実行する Kubernetes Pod の最大数。
  • RELEASE_CHANNEL:(省略可): このクラスタで実行する Distributed Cloud ソフトウェアのバージョンのリリース チャネルを指定します。有効な値は、REGULAR(クラスタの自動アップグレードを有効にする)と NONE(クラスタの自動アップグレードを無効にする)です。省略された場合、デフォルトの REGULAR になります。
  • CONTROL_PLANE_KMS_KEY(省略可): このクラスタのコントロール プレーン ノードで使用する Cloud KMS 鍵の完全パス。次に例を示します。

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

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

  • CONTROL_PLANE_LOCATION: このクラスタのコントロール プレーン ワークロードをローカルにデプロイするように Distributed Cloud に指示します。値は、ターゲットの Distributed Cloud コネクテッド ゾーンの名前です。

  • CONTROL_PLANE_NODE_COUNT(省略可): ローカル コントロール プレーン ワークロードを実行するノードの数を指定します。有効な値は、高可用性の場合は 3、標準オペレーションの場合は 1 です。省略された場合、デフォルトの 3 になります。

  • CONTROL_PLANE_NODE_FILTER(省略可): ローカル コントロール プレーン ワークロードを実行するノードの正規表現形式のリストを指定します。省略すると、Distributed Cloud はノードをランダムに自動的に選択します。

  • CONTROL_PLANE_NODE_SHARING:(省略可)ローカル コントロール プレーン ワークロードを実行するノードでアプリケーション ワークロードを実行できるかどうかを指定します。有効な値は DISALLOWEDALLOWED です。省略した場合、デフォルトの DISALLOWED になります。

  • IPV4_DATA_PLANE_ADDRESSES: クラスタが存続モードで実行されている場合に、Distributed Cloud ロードバランサの背後で実行される Service の上り(内向き)トラフィックの IPv4 アドレス、アドレス範囲、サブネットワークのカンマ区切りリストを指定します。

  • IPV6_DATA_PLANE_ADDRESSES: クラスタが存続モードで実行されている場合に、分散クラウド ロードバランサの背後で実行される Service の上り(内向き)トラフィックの IPv6 アドレス、アドレス範囲、サブネットワークのカンマ区切りリストを指定します。

  • SOFTWARE_VERSION: このクラスタで実行する Distributed Cloud 接続ソフトウェアのバージョンを 1.X.Y 形式で指定します。ここで、X はマイナー バージョン、Y はパッチ バージョンです(例: 1.5.1)。省略すると、サーバーのデフォルトのソフトウェア バージョン(通常は Distributed Cloud Connected の最新バージョン)がデフォルトになります。サーバーのデフォルト バージョンなど、クラスタ作成に使用できるソフトウェア バージョンを取得するには、クラスタで使用可能なソフトウェア バージョンを取得するをご覧ください。クラスタ ソフトウェア バージョンを指定するには、RELEASE_CHANNEL フラグを NONE に設定する必要があります。

  • REBOOT_TIMEOUT: クラスタが存続モードで実行されている間に、再起動後にクラスタノードがクラスタに再参加できる時間枠を秒単位で指定します。省略した場合、デフォルトは 0 になります。この場合、 Google Cloud への接続が再確立されるまで、再起動されたノードはクラスタに再参加できません。

    注意: 再起動タイムアウト ウィンドウを指定すると、指定した時間内にストレージ キーを無効にしたり削除したりしても、オフラインになったノードが再起動してクラスタに再参加する可能性があります。

API

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

POST /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&requestId=REQUEST_ID&fleetId=FLEET_PROJECT_ID

{
  "labels": { LABELS,
  },
  "authorization": {
    "adminUsers": {
      "username": "USERNAME"
    }
  },
  "fleet": {
    "project": "FLEET_PROJECT_ID"
  },
  "networking": {
    "clusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
    "servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
    "clusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
    "servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
      },
  "defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
  "releaseChannel": "RELEASE_CHANNEL",
  "controlPlaneEncryption": {
   "kmsKey": CONTROL_PLANE_KMS_KEY,
  },
  "controlPlane": {
    "local": {
      "nodeLocation": "CONTROL_PLANE_LOCATION",
      "nodeCount": CONTROL_PLANE_NODE_COUNT,
      "machineFilter": "CONTROL_PLANE_NODE_FILTER",
      "sharedDeploymentPolicy": "CONTROL_PLANE_NODE_SHARING"
    }
  },
  "externalLoadBalancerIpv4AddressPools": [
    "IPV4_DATA_PLANE_ADDRESSES"
  ],
  "externalLoadBalancerIpv6AddressPools": [
    "IPV6_DATA_PLANE_ADDRESSES"
  ],
  "targetVersion": "SOFTWARE_VERSION",
  "offlineRebootTtl": "REBOOT_TIMEOUT",
}

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: このクラスタを識別する一意の名前。この名前は RFC 1213 に準拠し、小文字の英数字とハイフン(-)のみで構成する必要があります。先頭と末尾は英数字にする必要があります。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • FLEET_PROJECT_ID: クラスタが登録されているフリート ホスト プロジェクトの ID。これは、別のプロジェクトにすることも、このクラスタが属する Distributed Cloud 接続プロジェクト(PROJECT_ID)にすることもできます。フリート登録は必須です。
  • LABELS: このクラスタ リソースに適用するラベルのリスト。
  • USERNAME: クラスタ リソースの変更を承認されたターゲット Google Cloud プロジェクト内のユーザー アカウントの名前。
  • CLUSTER_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の IPv4 CIDR ブロック
  • CLUSTER_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の目的の IPv6 CIDR ブロック
  • SERVICE_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv4 CIDR ブロック
  • SERVICE_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv6 CIDR ブロック
  • MAX_PODS_PER_NODE: このクラスタの各ノードで実行する Kubernetes Pod の最大数。
  • RELEASE_CHANNEL:(省略可)このクラスタで実行する Distributed Cloud 接続ソフトウェアのバージョンのリリース チャネルを指定します。有効な値は、REGULAR(クラスタの自動アップグレードを有効にする)と NONE(クラスタの自動アップグレードを無効にする)です。省略された場合、デフォルトの REGULAR になります。
  • CONTROL_PLANE_KMS_KEY(省略可): このクラスタのコントロール プレーン ノードで使用する Cloud KMS 鍵の完全パス。次に例を示します。

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

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

  • CONTROL_PLANE_LOCATION: このクラスタのコントロール プレーン ワークロードをローカルにデプロイするように Distributed Cloud に指示します。値は、ターゲットの Distributed Cloud ゾーンの名前です。

  • CONTROL_PLANE_NODE_COUNT: ローカル コントロール プレーン ワークロードを実行するノードの数を指定します。有効な値は、高可用性の場合は 3、標準オペレーションの場合は 1 です。

  • CONTROL_PLANE_NODE_FILTER(省略可): ローカル コントロール プレーン ワークロードを実行するノードの正規表現形式のリストを指定します。省略すると、Distributed Cloud はノードをランダムに自動的に選択します。

  • CONTROL_PLANE_NODE_SHARING: ローカル コントロール プレーン ワークロードを実行するノードでアプリケーション ワークロードを実行できるかどうかを指定します。有効な値は DISALLOWEDALLOWED です。省略された場合、デフォルトの DISALLOWED になります。

  • IPV4_DATA_PLANE_ADDRESSES: クラスタの Distributed Cloud ロードバランサの背後で実行される Service の上り(内向き)トラフィックの IPv4 アドレス、アドレス範囲、サブネットワークのカンマ区切りリストを指定します。

  • IPV6_DATA_PLANE_ADDRESSES: クラスタが存続モードで実行されている場合に、分散クラウド ロードバランサの背後で実行される Service の上り(内向き)トラフィックの IPv6 アドレス、アドレス範囲、サブネットワークのカンマ区切りリストを指定します。

  • SOFTWARE_VERSION: このクラスタで実行する Distributed Cloud ソフトウェア バージョンを 1.X.Y 形式で指定します。ここで、X はマイナー バージョン、Y はパッチ バージョンです(例: 1.5.1)。省略すると、サーバーのデフォルトのソフトウェア バージョン(通常は Distributed Cloud Connected の最新バージョン)がデフォルトになります。サーバーのデフォルト バージョンなど、クラスタ作成に使用できるソフトウェア バージョンを取得するには、クラスタで使用可能なソフトウェア バージョンを取得するをご覧ください。クラスタ ソフトウェアのバージョンを指定するには、RELEASE_CHANNEL フィールドを NONE に設定する必要があります。

  • REBOOT_TIMEOUT: クラスタが存続モードで実行されている間に、再起動後にクラスタノードがクラスタに再参加できる時間枠を秒単位で指定します。省略した場合、デフォルトは 0 になります。この場合、 Google Cloud への接続が再確立されるまで、再起動されたノードはクラスタに再参加できません。

    注意: 再起動タイムアウト ウィンドウを指定すると、指定した時間内にストレージ キーを無効にしたり削除したりしても、オフラインになったノードが再起動してクラスタに再参加する可能性があります。

リージョン内のクラスタを一覧表示する

Google Cloud リージョンにプロビジョニングされた Distributed Cloud 接続クラスタを一覧表示するには、このセクションの手順を行います。

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

コンソール

  1. Google Cloud コンソールで、[クラスタ] ページに移動します。

    クラスタに移動

  2. クラスタのリストを確認します。

gcloud

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

gcloud edge-cloud container clusters list \
    --project=PROJECT_ID \
    --location=REGION

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: Distributed Cloud 接続クラスタを作成した Google Cloud リージョン。

API

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

GET /v1/projects/PROJECT_ID/locations/REGION/clusters?clusterId=CLUSTER_ID&filter=FILTER&pageSize=PAGE_SIZE&orderBy=SORT_BY&pageToken=PAGE_TOKEN

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

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

クラスタに関する情報を取得する

Distributed Cloud 接続クラスタに関する情報を取得するには、このセクションの手順を完了します。

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

コンソール

  1. Google Cloud コンソールで、[クラスタ] ページに移動します。

    クラスタに移動

  2. 目的のクラスタを選択します。

    クラスタに関する詳細情報を含む折りたたみパネルが右側のペインに表示されます。

gcloud

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

gcloud edge-cloud container clusters describe CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: Distributed Cloud 接続ゾーンを作成した Google Cloud リージョン。

API

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

GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。

クラスタで使用可能なソフトウェア バージョンを取得する

クラスタの作成に使用できる Distributed Cloud 接続ソフトウェアのバージョンを Distributed Cloud 接続ゾーンで確認するには、このセクションの手順を完了します。

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

gcloud

gcloud edge-cloud container get-server-config コマンドを使用します。

gcloud edge-cloud container get-server-config --location=REGION

REGION: は、Distributed Cloud コネクテッド ゾーンを作成した Google Cloud リージョンに置き換えます。

API

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

GET /v1/projects/PROJECT_ID/locations/REGION/serverConfig

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。

クラスタのソフトウェア バージョンをアップグレードする

Distributed Cloud 接続クラスタのソフトウェア バージョンをアップグレードするには、このセクションの手順を完了します。

ソフトウェア アップグレード ステージのサイズを指定する

このセクションの手順を行う前に、ソフトウェア アップデートの段階的リリースをご覧ください。

ソフトウェア アップグレードで同時にダウンできるノードの数を指定するには、次のコマンドを使用します。

 gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES
    

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成された Google Cloud リージョン。
  • MAX_UNAVAILABLE_NODES: ソフトウェア アップグレードで同時にダウンできるワーカーノードの最大数を指定します。

この値をデフォルトにリセットするには、次のコマンドを使用します。

 gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --clear-max-unavailable-worker-nodes
    

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

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

クラスタを新しいバージョンの Distributed Cloud Connected ソフトウェアにアップグレードする

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

gcloud

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

gcloud edge-cloud container clusters upgrade CLUSTER_ID \
   --location=REGION \
   --project=PROJECT_ID \
   --schedule=UPGRADE_SCHEDULE \
   --version=SOFTWARE_VERSION

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • REGION: ターゲットの Distributed Cloud クラスタが作成された Google Cloud リージョン。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • UPGRADE_SCHEDULE: ソフトウェア アップグレードをトリガーするタイミングを指定します。有効な値は IMMEDIATELY のみです。
  • SOFTWARE_VERSION: このクラスタで実行する Distributed Cloud ソフトウェア バージョンを 1.X.Y 形式で指定します。ここで、X はマイナー バージョン、Y はパッチ バージョンです(例: 1.5.1)。サーバーのデフォルト バージョンなど、クラスタ作成に使用可能なソフトウェア バージョンを取得するには、クラスタで使用可能なソフトウェア バージョンを取得するをご覧ください。

API

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

POST /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID:upgrade?requestId=REQUEST_ID
{
  "name": "projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID",
  "targetVersion": "SOFTWARE_VERSION",
    "schedule": "UPGRADE_SCHEDULE",
}

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • UPGRADE_SCHEDULE: ソフトウェア アップグレードをトリガーするタイミングを指定します。有効な値は IMMEDIATELY のみです。
  • SOFTWARE_VERSION: このクラスタで実行する Distributed Cloud 接続ソフトウェアのバージョンを 1.X.Y 形式で指定します。ここで、X はマイナー バージョン、Y はパッチ バージョンです(例: 1.5.1)。サーバーのデフォルト バージョンなど、クラスタ作成に使用可能なソフトウェア バージョンを取得するには、クラスタで使用可能なソフトウェア バージョンを取得するをご覧ください。

通常、ソフトウェア アップグレードには、クラスタのノードプールに属する各ノードあたり約 2 時間かかります。このコマンドは、ソフトウェア アップグレードの進行状況を追跡できるオペレーションを返します。ソフトウェアのアップグレードが進行中の間、クラスタのステータスは Reconciling に設定され、アップグレードが完了すると Running に戻ります。クラスタのステータスが Error の場合、ソフトウェアのアップグレードが失敗したことを示します。このような場合は、アップグレード プロセスを再度実行します。クラスタのステータスを確認する方法については、クラスタに関する情報を取得するをご覧ください。

クラスタを変更する

Distributed Cloud 接続クラスタを変更するには、このセクションの手順を完了します。

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

gcloud

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

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --cluster-ipv4-cidr=CLUSTER_IPV4_CIDR_BLOCK \
    --services-ipv4-cidr=SERVICES_IPV4_CIDR_BLOCK \
    --default-max-pods-per-node=MAX_PODS_PER_NODE \
    --release-channel=RELEASE_CHANNEL \
    --offline-reboot-ttl=REBOOT_TIMEOUT \
    --max-unavailable-worker-nodes=MAX_UNAVAILABLE_NODES

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。
  • CLUSTER_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の IPv4 CIDR ブロック
  • CLUSTER_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の目的の IPv6 CIDR ブロック
  • SERVICE_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv4 CIDR ブロック
  • SERVICE_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv6 CIDR ブロック
  • MAX_PODS_PER_NODE: このクラスタの各ノードで実行する Kubernetes Pod の最大数。
  • RELEASE_CHANNEL(省略可): このクラスタで実行する Distributed Cloud コネクテッド ソフトウェアのバージョンのリリース チャネルを指定します。有効な値は、REGULAR(クラスタの自動アップグレードを有効にする)と NONE(クラスタの自動アップグレードを無効にする)です。省略された場合、デフォルトの REGULAR になります。
  • REBOOT_TIMEOUT: クラスタが存続モードで実行されている間に、再起動後にクラスタノードがクラスタに再参加できる時間枠を秒単位で指定します。省略した場合、デフォルトは 0 になります。この場合、 Google Cloud への接続が再確立されるまで、再起動されたノードはクラスタに再参加できません。

    注意: 再起動タイムアウト ウィンドウを指定すると、指定した時間内にストレージ キーを無効にしたり削除したりしても、オフラインになったノードが再起動してクラスタに再参加する可能性があります。

  • MAX_UNAVAILABLE_NODES(省略可): ソフトウェア アップグレードで同時にダウンできるワーカーノードの最大数を指定します。省略した場合、デフォルトは X です。これはプレビュー レベルの機能です。

API

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

PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/?updateMask=UPDATE_MASK&requestId=REQUEST_ID
{
 "labels": { LABELS,
  },
  "networking": {
   "ClusterIpv4CidrBlocks": CLUSTER_IPV4_CIDR_BLOCK,
   "servicesIpv4CidrBlocks": SERVICE_IPV4_CIDR_BLOCK,
   "ClusterIpv6CidrBlocks": CLUSTER_IPV6_CIDR_BLOCK,
   "servicesIpv6CidrBlocks": SERVICE_IPV6_CIDR_BLOCK,
   },
  "authorization": {
    "adminUsers": {
       "username": USERNAME
    }
  },
  "defaultMaxPodsPerNode": MAX_PODS_PER_NODE,
  "releaseChannel": RELEASE_CHANNEL,
  "offlineRebootTtl": "REBOOT_TIMEOUT",
  }

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。
  • UPDATE_MASK: このリクエストで更新する完全修飾フィールド名のカンマ区切りリスト(FieldMask 形式)。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • CLUSTER_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の IPv4 CIDR ブロック
  • CLUSTER_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Pod の目的の IPv6 CIDR ブロック
  • SERVICE_IPV4_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv4 CIDR ブロック
  • SERVICE_IPV6_CIDR_BLOCK: このクラスタで実行される Kubernetes Service の IPv6 CIDR ブロック
  • USERNAME: クラスタ リソースの変更を承認されたターゲット Google Cloud プロジェクト内のユーザー アカウントの名前。
  • MAX_PODS_PER_NODE: このクラスタの各ノードで実行する Kubernetes Pod の最大数。
  • RELEASE_CHANNEL:(省略可)このクラスタで実行する Distributed Cloud 接続ソフトウェアのバージョンのリリース チャネルを指定します。有効な値は、REGULAR(クラスタの自動アップグレードを有効にする)と NONE(クラスタの自動アップグレードを無効にする)です。省略された場合、デフォルトの REGULAR になります。
  • REBOOT_TIMEOUT:(v1alpha1 が必要)クラスタが存続モードで実行されている間に、クラスタノードが再起動後にクラスタに再参加できる時間枠を秒単位で指定します。省略した場合、デフォルトは 0 になります。この場合、 Google Cloud への接続が再確立されるまで、再起動されたノードはクラスタに再参加できません。これはプレビュー レベルの機能です。

    注意: 再起動タイムアウト ウィンドウを指定すると、指定した時間内にストレージ キーを無効にしたり削除したりしても、オフラインになったノードが再起動してクラスタに再参加する可能性があります。

クラスタの認証情報を取得する

Distributed Cloud 接続クラスタの認証情報を取得するには、このセクションの手順を完了します。

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

gcloud

gcloud edge-cloud container clusters get-credentials コマンドを使用します。

gcloud edge-cloud container clusters get-credentials CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。

API

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

GET /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud ゾーンが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。

クラスタのメンテナンスの時間枠を構成する

このセクションでは、Distributed Cloud 接続クラスタの次のタイプのメンテナンス ウィンドウを指定してクリアする方法について説明します。

  • メンテナンスの時間枠。Google が Distributed Cloud 接続クラスタでメンテナンスとソフトウェア アップグレードを実行できる時間枠を指定します。
  • メンテナンスの除外の時間枠。Google が Distributed Cloud コネクテッド クラスタでメンテナンスやソフトウェア アップグレードを実行できない時間枠を指定します。メンテナンスの除外期間を構成するには、まずメンテナンスの時間枠を構成する必要があります。メンテナンスの除外期間は、クラスタのメンテナンスの時間枠よりも優先されます。

クラスタのメンテナンスの時間枠を指定する

Distributed Cloud 接続クラスタのメンテナンスの時間枠を指定するには、このセクションの手順を行います。クラスタのメンテナンスの詳細については、ソフトウェアの更新とメンテナンスの時間枠についてをご覧ください。

日付と時刻の形式には、RFC 5545 を使用します。

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

コンソール

Google Cloud コンソールを使用している場合は、クラスタの作成時にのみメンテナンス ウィンドウを指定できます。既存のクラスタでメンテナンス ウィンドウを指定するには、Google Cloud CLI または Distributed Cloud Edge Container API を使用する必要があります。

gcloud

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

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --maintenance-window-start=MAINTENANCE_START \
    --maintenance-window-end=MAINTENANCE_END \
    --maintenance-window-recurrence=MAINTENANCE_FREQUENCY

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成される Google Cloud リージョン。
  • MAINTENANCE_START: メンテナンスの時間枠の開始時刻(YYYY-MM-DDTHH:MM:SSZ 形式)。
  • MAINTENANCE_END: メンテナンスの時間枠の終了時刻(YYYY-MM-DDTHH:MM:SSZ 形式)。
  • MAINTENANCE_FREQUENCY: メンテナンスの時間枠の頻度(FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU 形式)。
    • BYDAY: FREQWEEKLY に設定されている場合にメンテナンスが行われる可能性のある曜日のカンマ区切りリスト。BYDAY パラメータを省略すると、曜日が自動的に選択されます。
    • FREQ を daily に設定すると、メンテナンスの時間枠は指定された時間帯に毎日発生します。

API

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

PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
 "maintenance_policy": {
   "window": {
     "recurring_window": {
       "window": {
         "start_time": "MAINTENANCE_START",
         "end_time": "MAINTENANCE_END"
         },
       "recurrence": "MAINTENANCE_FREQUENCY"
     }
   }
 }
}

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。
  • UPDATE_MASK: このリクエストで更新する完全修飾フィールド名のカンマ区切りリスト(FieldMask 形式)。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • CLUSTER_ID: 対象とするクラスタの名前。
  • USERNAME: クラスタ リソースの変更を承認されたターゲット Google Cloud プロジェクト内のユーザー アカウントの名前。
  • MAINTENANCE_START: メンテナンスの時間枠の開始時刻(YYYY-MM-DDTHH:MM:SSZ 形式)。
  • MAINTENANCE_END: メンテナンスの時間枠の終了時刻(YYYY-MM-DDTHH:MM:SSZ 形式)。
  • MAINTENANCE_FREQUENCY: メンテナンスの時間枠の頻度(FREQ=WEEKLY|DAILY;BYDAY=MO,TU,WE,TH,FR,SA,SU 形式)。
    • FREQ は、DAILY または WEEKLY のいずれかになります。
    • BYDAY: FREQWEEKLY に設定されている場合にメンテナンスが行われる可能性のある曜日のカンマ区切りリスト。BYDAY パラメータを省略すると、曜日が自動的に選択されます。
    • FREQ を daily に設定すると、メンテナンスの時間枠は指定された時間帯に毎日発生します。

詳細については、リソース: クラスタをご覧ください。

クラスタのメンテナンスの時間枠を消去する

Distributed Cloud 接続クラスタのメンテナンスの時間枠をクリアするには、このセクションの手順を行います。クラスタのメンテナンスの時間枠をクリアすると、そのクラスタの対応するメンテナンスの除外の時間枠もすべてクリアされます。クラスタのメンテナンスの詳細については、ソフトウェアの更新とメンテナンスの時間枠についてをご覧ください。

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

gcloud

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

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --clear-maintenance-window

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲット Distributed Cloud クラスタが作成される Google Cloud リージョン。

API

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

PATCH /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?updateMask=maintenancePolicy&requestId=REQUEST_ID
{
 "maintenance_policy": null
}

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。
  • UPDATE_MASK: このリクエストで更新する完全修飾フィールド名のカンマ区切りリスト(FieldMask 形式)。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。
  • USERNAME: クラスタ リソースの変更を承認されたターゲット Google Cloud プロジェクト内のユーザー アカウントの名前。

詳細については、リソース: クラスタをご覧ください。

クラスタのメンテナンス除外時間枠を指定する

Distributed Cloud 接続クラスタのメンテナンス除外期間を指定するには、このセクションの手順を完了します。クラスタのメンテナンスの詳細については、ソフトウェアの更新とメンテナンスの時間枠についてをご覧ください。

日付と時刻の形式には、RFC 3339 を使用します。

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

gcloud

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

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --add-maintenance-exclusion-name=EXCLUSION_NAME \
    --add-maintenance-exclusion-start=EXCLUSION_START \
    --add-maintenance-exclusion-end=EXCLUSION_END

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud コネクテッド クラスタが作成される Google Cloud リージョン。
  • EXCLUSION_NAME: このメンテナンス除外ウィンドウのわかりやすい名前。
  • EXCLUSION_START: メンテナンスの時間枠の開始時刻(YYYY-MM-DDTHH:MM:SSZ 形式)。
  • EXCLUSION_END: メンテナンスの時間枠の終了時刻(YYYY-MM-DDTHH:MM:SSZ 形式)。

クラスタのメンテナンス除外の時間枠をクリアする

Distributed Cloud 接続クラスタのメンテナンス除外ウィンドウをクリアするには、このセクションの手順を行います。クラスタのメンテナンスの詳細については、ソフトウェアの更新とメンテナンスの時間枠についてをご覧ください。

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

gcloud

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

gcloud edge-cloud container clusters update CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION \
    --remove-maintenance-exclusion-window=MAINTENANCE_EXCLUSION_WINDOW

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲット Distributed Cloud クラスタが作成される Google Cloud リージョン。
  • MAINTENANCE_EXCLUSION_WINDOW: クリアするメンテナンス除外ウィンドウの名前。

クラスタの削除

Distributed Cloud 接続クラスタを削除するには、このセクションの手順を行います。クラスタを削除する前に、次の操作を行う必要があります。

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

gcloud

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

gcloud edge-cloud container clusters delete CLUSTER_ID \
    --project=PROJECT_ID \
    --location=REGION

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

  • CLUSTER_ID: 対象とするクラスタの名前。
  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。

API

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

DELETE /v1/projects/PROJECT_ID/locations/REGION/clusters/CLUSTER_ID?requestId=REQUEST_ID

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

  • PROJECT_ID: ターゲット Google Cloud プロジェクトの ID。
  • REGION: ターゲットの Distributed Cloud 接続クラスタが作成される Google Cloud リージョン。
  • CLUSTER_ID: 対象とするクラスタの名前。
  • REQUEST_ID: このリクエストを識別する一意のプログラム ID。

次のステップ