GKE-Cluster mit Cloud TPU und freigegebener VPC

In diesem Leitfaden wird Folgendes beschrieben:

  • Cloud TPU einrichten GKE mithilfe eines freigegebenen VPC-Netzwerks arbeiten.
  • Richten Sie die erforderlichen APIs und IP-Bereiche ein, um sicherzustellen, Kommunikation zwischen dem Cluster, der freigegebene VPC und Google Verwaltete Dienste.
  • Erstellen Sie sekundäre CIDR-Bereiche für Cluster-Pods und Dienstleistungen.

Konzepte

Die folgenden Konzepte werden in diesem Leitfaden häufig verwendet:

  • Hostprojekt: Ein Projekt mit einem oder mehreren freigegebenen VPC-Netzwerken. In dieser Anleitung enthält dieses Projekt Ihre freigegebene VPC.

  • Dienstprojekt: Ein Projekt, das von einem Administrator für freigegebene VPC. Dieser Anhang ermöglicht die Teilnahme an in der freigegebene VPC. In dieser Anleitung enthält dieses Projekt Ihren Cloud TPU-Cluster.

Voraussetzungen

APIs aktivieren

  1. Aktivieren Sie die folgenden APIs in der Google Cloud Console für Ihr Hostprojekt:

  2. Aktivieren Sie in der Google Cloud Console die folgenden APIs für Ihr Dienstprojekt:

IP-Bereich für VPC-Peering zu von Google verwalteten Diensten einrichten

Führen Sie die folgenden Schritte aus, um einen IP-Bereich im freigegebene VPC-Netzwerk in Das Hostprojekt. Der Bereich wird von allen von Google verwalteten Diensten verwendet in diesem VPC-Netzwerk. Cloud TPU ist eines der verwalteten Diensten.

  1. Listen Sie vorhandene IP-Bereiche im freigegebene VPC-Netzwerk auf.

    $ gcloud beta compute networks list-ip-addresses network \
    --project=host-project-id
  2. Wählen Sie einen verfügbaren Bereich aus und reservieren Sie ihn im freigegebenen VPC-Netzwerk.

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

    Mit peering-name wird der Name der VPC-Peering-Verbindung angegeben. Der Name wird im nächsten Schritt verwendet.

  3. Erstellen Sie eine VPC-Netzwerk-Peering-Verbindung zwischen dem Hostprojekt und den von Google verwalteten Diensten.

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

Sekundäre IP-Bereiche für den Cluster erstellen

Wählen Sie in Ihrem freigegebene VPC-Netzwerk ein Subnetzwerk aus oder erstellen Sie eines und fügen Sie zwei sekundäre CIDR-Bereiche für die Cluster-Pods und -Dienste.

Diese Bereiche gelten jeweils für die Pods und Dienste Ihres Clusters. Die Bereichsnamen werden in den folgenden Schritten verwendet.

  • subnet ist das Subnetzwerk im network Ihres Hostprojekts.

  • tier-1-name ist der Name des sekundären Bereichs, der von GKE-Pods in subnet.

  • tier-2-name ist der Name des sekundären Bereichs, der von GKE-Dienste in subnet.

GKE-Cluster mit Cloud TPU erstellen

Mit dem folgenden Befehl können Sie einen GKE-Cluster mit den vorhandenen CIDR-Bereichen in Ihrem freigegebenen VPC-Netzwerk erstellen und Cloud TPU aktivieren:

$ 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

Schritte zu Pod-Spezifikationen im Leitfaden ausführen Cloud TPU-Anwendungen in GKE ausführen um einen Job zu erstellen, der Cloud TPU-Ressourcen verwendet.

Bereinigen

Wenn Sie mit Cloud TPU in GKE fertig sind, bereinigen Sie die Ressourcen, um zusätzliche Kosten für Ihr Cloud-Rechnungskonto zu vermeiden.

  1. Löschen Sie den reservierten IP-Bereich für das Peering.

    $ gcloud beta compute addresses delete peering-name \
      --global \
      --project=host-project-id
  2. Folgen Sie der Anleitung unter Bereinigen im Abschnitt „Cluster mit freigegebener VPC einrichten“, um den Cluster und die Netzwerkressourcen zu löschen.