コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

共有 VPC を使用した Cloud TPU を使用する GKE クラスタ

このガイドでは、次の方法について説明します。

  • 共有 VPC ネットワークを使用して、Cloud TPU の GKE クラスタを設定する。
  • クラスタ、共有 VPC、Google マネージド サービス間の通信を確保するために、必要な APIIP 範囲を設定します。
  • クラスタポッドとサービスのセカンダリ CIDR 範囲を作成します。

始める前に

コンセプト

このガイドでは、これらのコンセプトを頻繁に使用します。

  • ホスト プロジェクト: 1 つ以上の共有 VPC ネットワークを含むプロジェクト。このガイドでは、このプロジェクトに共有 VPC が含まれています。

  • サービス プロジェクト: 共有 VPC 管理者がホスト プロジェクトに接続したプロジェクト。接続したプロジェクトには、共有 VPC への参加が許可されます。このガイドでは、このプロジェクトに Cloud TPU クラスタが含まれます。

要件

API を有効にする

  1. Google Cloud Console でホスト プロジェクトの次の API を有効にします。

  2. Google Cloud Console でサービス プロジェクトの次の API を有効にします。

Google マネージド サービスへの VPC ピアリングに IP 範囲を設定する

ホスト プロジェクトで共有 VPC ネットワークの IP 範囲を予約するには、次の手順に従います。この範囲は、この VPC ネットワーク内のすべての Google マネージド サービスで使用されます。Cloud TPU は、Google が管理するサービスの 1 つです。

  1. 共有 VPC ネットワーク内の既存の IP 範囲を一覧表示します。

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
    
  2. 使用可能な範囲を選択して、共有 VPC ネットワークで予約します。

    $ gcloud beta compute addresses create peering-name \
      --global \
      --prefix-length=16 \
      --network=network \
      --purpose=VPC_PEERING \
      --project=host-project-id
    

    peering-name は、VPC ピアリング接続の名前を指定します。この名前は次のステップで使用します。

  3. ホスト プロジェクトと Google マネージド サービスの間に VPC ネットワーク ピアリング接続を作成します。

    $ gcloud beta services vpc-peerings connect \
      --service=servicenetworking.googleapis.com \
      --network=network \
      --ranges=peering-name \
      --project=host-project-id
    

クラスタのセカンダリ IP 範囲を作成する

共有 VPC ネットワークで、サブネットワークを選択または作成し、クラスタの Pod と Service に 2 つのセカンダリ CIDR 範囲を追加します。

これらの範囲は、それぞれクラスタのポッドとサービス用です。範囲名は、次の手順で使用します。

  • subnet は、ホスト プロジェクトのネットワーク network のサブネットワークになります。

  • tier-1-name は、subnet の GKE Pod で使用されるセカンダリ範囲の名前です。

  • tier-2-name は、subnet の GKE サービスで使用されるセカンダリ範囲の名前です。

Cloud TPU で GKE クラスタを作成する

次のコマンドは、共有 VPC ネットワークの既存の CIDR 範囲を使用して GKE を作成し、Cloud TPU を有効にする方法を示しています。

$ gcloud beta container clusters create cluster-name \
  --enable-ip-alias \
  --network projects/host-project-id/global/networks/network \
  --subnetwork projects/host-project-id/regions/region/subnetworks/subnet \
  --cluster-secondary-range-name tier-1-name \
  --services-secondary-range-name tier-2-name \
  --scopes=cloud-platform \
  --enable-tpu \
  --enable-tpu-service-networking \
  --project=service-project-id

GKE で Cloud TPU アプリケーションを実行するのガイドの Pod 仕様の手順に従って、Cloud TPU リソースを使用するジョブを構築します。

クリーンアップ

GKE 上で Cloud TPU を使い終わったら、リソースをクリーンアップして、Cloud 請求先アカウントに余分に課金されないようにしてください。

  1. 予約済みのピアリング IP 範囲を削除します。

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
    
  2. 共有 VPC を使用したクラスタの設定に関するクリーンアップの手順に従って、クラスタとネットワーク リソースを削除します。