使用共用虛擬私有雲的 GKE 叢集搭配 Cloud TPU

本指南將說明如何:

概念

本指南會經常使用以下概念:

  • 主專案:包含一或多個共用虛擬私有雲網路的專案。在本指南中,這個專案會包含共用虛擬私有雲。

  • 服務專案:共用虛擬私有雲管理員連結至主專案的專案。這個附加動作能讓服務專案加入共用虛擬私有雲。在本指南中,這個專案會包含 Cloud TPU 叢集。

需求條件

啟用 API

  1. 在 Google Cloud 主控台為代管專案啟用下列 API:

  2. 在 Google Cloud 控制台為服務專案啟用下列 API:

設定 VPC 對等互連至 Google 代管服務的 IP 範圍

請按照下列步驟,在主專案的共用虛擬私有雲端網路中保留 IP 範圍。這個範圍會由這個 VPC 網路中的所有 Google 代管服務使用。Cloud TPU 是 Google 管理服務之一。

  1. 列出共用虛擬私有雲網路中的現有 IP 範圍。

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
  2. 選擇可用範圍,並在共用虛擬私有雲網路中保留該範圍。

    $ 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 範圍

在 Shared VPC 網路中選取或建立子網路,然後為叢集 Pod 和服務新增兩個次要 CIDR 範圍。

這些範圍分別適用於叢集的 Pod 和服務。後續步驟會用到範圍名稱。

  • subnet 會是主專案 network 中的子網路。

  • tier-1-namesubnet 中 GKE Pod 使用的次要範圍名稱。

  • tier-2-namesubnet 中 GKE 服務使用的次要範圍名稱。

使用 Cloud TPU 建立 GKE 叢集

下列指令說明如何使用共用虛擬私有雲網路中現有的 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 Billing 帳戶收取額外費用。

  1. 刪除預留的對等 IP 範圍。

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
  2. 如要刪除叢集和網路資源,請按照「清除所用資源」一節中的操作說明,透過共用虛擬私人雲端設定叢集。