ResNet mit Cloud TPU und GKE trainieren

In dieser Anleitung erfahren Sie, wie Sie das Modell TensorFlow ResNet-50 in Cloud TPU und GKE trainieren.

Die Anleitung begleitet Sie bei den folgenden Schritten, mit denen Sie das Modell mit einem fiktiven Dataset für Testzwecke ausführen:

  • Cloud Storage-Bucket erstellen, der die Ausgabe Ihres Modells aufnimmt
  • GKE-Cluster zum Verwalten Ihrer Cloud TPU-Ressourcen erstellen
  • Kubernetes-Jobspezifikation herunterladen, in der die Ressourcen beschrieben sind, die zum Trainieren von ResNet-50 mit TensorFlow in einer Cloud TPU benötigt werden
  • Job im GKE-Cluster ausführen, um mit dem Training des Modells zu beginnen
  • Logs und die Ausgabe des Modells überprüfen

Hinweise

  1. Melden Sie sich bei Ihrem Google-Konto an.

    Wenn Sie noch kein Konto haben, melden Sie sich hier für ein neues Konto an.

  2. Wählen Sie in der Cloud Console auf der Seite für die Projektauswahl ein Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Wenn Sie Cloud TPU mit GKE verwenden, verwendet Ihr Projekt kostenpflichtige Komponenten von Google Cloud. Preisinformationen zur Kostenkalkulation finden Sie unter Cloud TPU-Preise und GKE-Preise. Wenn Sie Ressourcen nicht mehr benötigen, folgen Sie der Anleitung Ressourcen bereinigen.

  5. Aktivieren Sie die folgenden APIs in der Cloud Console:

Shell auswählen und bei Bedarf die Befehlszeilentools installieren

Sie können zum Durcharbeiten dieser Anleitung entweder Cloud Shell oder Ihre lokale Shell verwenden. Die gcloud- und kubectl-Befehlszeilentools sind in Cloud Shell vorinstalliert. gcloud ist die Befehlszeilenschnittstelle für Google Cloud und kubectl ist die Befehlszeilenschnittstelle zum Ausführen von Befehlen für Kubernetes-Cluster.

Wenn Sie Ihre lokale Shell bevorzugen, müssen Sie die Befehlszeilentools gcloud und kubectl in Ihrer Umgebung installieren.

Cloud Shell

So starten Sie Cloud Shell:

  1. Gehen Sie zur Google Cloud Console.

  2. Klicken Sie rechts oben in der Konsole auf Google Cloud Shell aktivieren.

Im unteren Bereich der Konsole wird ein Frame für die Cloud Shell-Sitzung geöffnet. Verwenden Sie diese Shell zum Ausführen von gcloud- und kubectl-Befehlen.

Lokale Shell

Führen Sie die folgenden Schritte aus, um gcloud und kubectl zu installieren:

  1. Installieren Sie das Google Cloud SDK. Darin ist das gcloud-Befehlszeilentool enthalten.

  2. Installieren Sie das kubectl-Befehlszeilentool mit dem folgenden Befehl:

    $ gcloud components install kubectl
  3. Installieren Sie die gcloud-Komponenten, die Sie zum Ausführen von GKE mit Cloud TPU benötigen:

    $ gcloud components install

Anforderungen und Einschränkungen

Beachten Sie Folgendes, wenn Sie Ihre Konfiguration definieren:

  • Sie müssen mindestens die GKE-Version 1.13.4-gke.5 verwenden. Sie können die Version angeben, indem Sie wie unten beschrieben den Parameter --cluster-version dem Befehl gcloud container clusters create hinzufügen. Weitere Informationen finden Sie in der SDK-Dokumentation.
  • Sie müssen mindestens TensorFlow 1.13 verwenden. Sie können die Tensorflow-Version in Ihrer Kubernetes-Pod-Spezifikation wie die resnet-Konfiguration angeben.
  • Sie müssen Ihren GKE-Cluster und die Knotenpools in einer Zone erstellen, in der die Cloud TPU verfügbar ist. Sie müssen auch die Cloud Storage-Buckets erstellen, um Ihre Trainingsdaten und -modelle in derselben Region zu speichern, in der Sie den GKE-Cluster erstellt haben. Die folgenden Zonen sind verfügbar:

    USA

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB us-central1-b
    us-central1-c
    us-central1-f
    v2–32 32 256 GiB us-central1-a
    v2-128 128 1 TiB us-central1-a
    v2-256 256 2 TiB us-central1-a
    v2-512 512 4 TiB us-central1-a
    TPU-Typ (v3) TPU v3-Kerne Gesamter TPU-Arbeitsspeicher Verfügbare Zonen
    v3–8 8 128 GiB us-central1-a
    us-central1-b
    us-central1-f

    Europa

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB europe-west4-a
    v2–32 32 256 GiB europe-west4-a
    v2-128 128 1 TiB europe-west4-a
    v2-256 256 2 TiB europe-west4-a
    v2-512 512 4 TiB europe-west4-a
    TPU-Typ (v3) TPU v3-Kerne Gesamter TPU-Arbeitsspeicher Verfügbare Zonen
    v3–8 8 128 GiB europe-west4-a
    v3-32 32 512 GiB europe-west4-a
    v3–64 64 1 TiB europe-west4-a
    v3–128 128 2 TiB europe-west4-a
    v3–256 256 4 TiB europe-west4-a
    v3–512 512 8 TiB europe-west4-a
    v3–1024 1.024 16 TiB europe-west4-a
    v3–2048 2.048 32 TiB europe-west4-a

    Asiatisch-pazifischer Raum

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB asia-east1-c
  • Jeder Container kann höchstens eine Cloud TPU anfordern. Mehrere Container in einem Pod können jedoch jeweils eine Cloud TPU anfordern.
  • Cluster Autoscaler unterstützt Cloud TPU ab GKE 1.11.4-gke.12 und höher.

Daten und Storage-Bucket einrichten

Zum Trainieren Ihres Modells können Sie das mit dieser Anleitung bereitgestellte fiktive Dataset oder aber die vollständigen ImageNet-Daten verwenden. In beiden Fällen müssen Sie einen Cloud Storage-Bucket wie nachstehend beschrieben einrichten.

Fiktives Dataset oder ImageNet-Dataset verwenden

In der folgenden Anleitung wird davon ausgegangen, dass Sie ein zufällig erzeugtes, fiktives Dataset zum Testen des Modells verwenden. Alternativ können Sie ein vollständiges ImageNet-Dataset nutzen.

Das fiktive Dataset befindet sich an diesem Speicherort in Cloud Storage:

gs://cloud-tpu-test-datasets/fake_imagenet

Beachten Sie, dass das fiktive Dataset nur zum Verständnis der Verwendung einer Cloud TPU und zur Validierung der End-to-End-Leistung von Nutzen ist. Die Genauigkeitszahlen und das gespeicherte Modell sind nicht aussagekräftig.

Cloud Storage-Bucket erstellen

Sie benötigen einen Cloud Storage-Bucket, um die Ergebnisse des Trainings Ihres Modells für maschinelles Lernen zu speichern. Wenn Sie lieber echte Trainingsdaten anstelle des mit dieser Anleitung bereitgestellten fiktiven Datasets verwenden möchten, können Sie die Daten im selben Bucket speichern.

  1. Rufen Sie die Cloud Storage-Seite in der Cloud Console auf.

    Zur Cloud Storage-Seite

  2. Erstellen Sie durch die Angabe der folgenden Optionen einen neuen Bucket:

    • Eindeutiger Name Ihrer Wahl
    • Standard-Speicherklasse: Standard
    • Speicherort: us-central1

    Der Bucket-Standort muss sich in derselben Region befinden wie die im GKE-Cluster bereitgestellte TPU-Ressource.

Cloud TPU Zugriff auf den Cloud Storage-Bucket gewähren

Ihre Cloud TPU benötigt Lese-/Schreibzugriff auf Ihre Cloud Storage-Objekte. Dazu müssen Sie den erforderlichen Zugriff auf das Dienstkonto gewähren, das von Cloud TPU verwendet wird. Folgen Sie dem Leitfaden, um Zugriff auf Ihren Storage-Bucket zu gewähren.

Cluster in GKE erstellen

Sie können einen GKE-Cluster in der Cloud Console oder mit dem gcloud-Befehlszeilentool erstellen. Wählen Sie nachstehend eine Option aus, um die entsprechende Anleitung aufzurufen.

Konsole

So erstellen Sie einen GKE-Cluster mit Cloud TPU-Unterstützung:

  1. Rufen Sie die GKE-Seite in der Cloud Console auf.

    Zur Seite "GKE"

  2. Klicken Sie auf Cluster erstellen.

  3. Geben Sie auf der Seite GKE-Cluster einen Namen für Ihren Cluster an. Dieser darf nicht mehrfach innerhalb des Projekts oder der Zone vergeben werden. Beispiel: tpu-models-cluster.

  4. Geben Sie die Zone an, in der Sie eine Cloud TPU-Ressource nutzen möchten. Wählen Sie beispielsweise die Zone us-central1-b aus.

    Cloud TPU ist in den folgenden Zonen verfügbar:

    USA

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB us-central1-b
    us-central1-c
    us-central1-f
    v2–32 32 256 GiB us-central1-a
    v2-128 128 1 TiB us-central1-a
    v2-256 256 2 TiB us-central1-a
    v2-512 512 4 TiB us-central1-a
    TPU-Typ (v3) TPU v3-Kerne Gesamter TPU-Arbeitsspeicher Verfügbare Zonen
    v3–8 8 128 GiB us-central1-a
    us-central1-b
    us-central1-f

    Europa

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB europe-west4-a
    v2–32 32 256 GiB europe-west4-a
    v2-128 128 1 TiB europe-west4-a
    v2-256 256 2 TiB europe-west4-a
    v2-512 512 4 TiB europe-west4-a
    TPU-Typ (v3) TPU v3-Kerne Gesamter TPU-Arbeitsspeicher Verfügbare Zonen
    v3–8 8 128 GiB europe-west4-a
    v3-32 32 512 GiB europe-west4-a
    v3–64 64 1 TiB europe-west4-a
    v3–128 128 2 TiB europe-west4-a
    v3–256 256 4 TiB europe-west4-a
    v3–512 512 8 TiB europe-west4-a
    v3–1024 1.024 16 TiB europe-west4-a
    v3–2048 2.048 32 TiB europe-west4-a

    Asiatisch-pazifischer Raum

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB asia-east1-c
  5. Prüfen Sie, ob Ihrem Cloud TPU-Knoten in der im vorherigen Schritt angegebenen Zone genügend Kontingente zugeteilt wurde.

  6. Achten Sie darauf, dass die Clusterversion auf 1.13.4-gke.5 oder eine höhere Version gesetzt ist, damit Cloud TPU unterstützt werden kann.

  7. Scrollen Sie zum unteren Rand der Seite und klicken Sie auf Weitere Optionen.

  8. Setzen Sie Zugriffsbereiche auf Uneingeschränkten Zugriff auf alle Cloud-APIs zulassen. Dadurch wird allen Knoten im Cluster der Zugriff auf Ihren Cloud Storage-Bucket ermöglicht. Der Cluster und der Storage-Bucket müssen sich in demselben Projekt befinden, damit dies funktioniert. Beachten Sie, dass die Pods standardmäßig die Bereiche der Knoten übernehmen, für die sie bereitgestellt werden. Informationen dazu, wie Sie den Zugriff für einzelne Pods einschränken können, finden Sie im GKE-Leitfaden unter Mit Dienstkonten bei der Cloud Platform authentifizieren.

  9. Klicken Sie ganz unten auf der Seite auf Verfügbarkeit, Netzwerk, Sicherheit und weitere Funktionen. Dies öffnet ein Fenster auf derselben Seite.

  10. Aktivieren Sie VPC nativ (mit Alias-IP).

  11. Aktivieren Sie Cloud TPU.

  12. Konfigurieren Sie die verbleibenden Optionen für Ihre Cluster wie gewünscht. Sie können die jeweiligen Standardwerte einfach übernehmen.

  13. Klicken Sie auf Erstellen.

  14. Als Nächstes erstellen Sie die Clusterverbindung. Wählen Sie dazu Ihren Cluster auf der Seite mit den Kubernetes-Clustern der Console aus und klicken Sie auf die Schaltfläche VERBINDEN. Dies zeigt den Befehl gcloud an, der in Cloud Shell ausgeführt werden soll, um kubectl mit diesem neuen Cluster zu verbinden.

gcloud

So richten Sie mit dem gcloud-Befehlszeilentool eine Umgebung ein und erstellen einen GKE-Cluster mit Cloud TPU-Unterstützung:

  1. Geben Sie Ihr Google Cloud-Projekt an:

    $ gcloud config set project YOUR-CLOUD-PROJECT
    

    Dabei ist YOUR-CLOUD-PROJECT der Name Ihres Google Cloud-Projekts.

  2. Geben Sie die Zone an, in der Sie eine Cloud TPU-Ressource nutzen möchten. Verwenden Sie für dieses Beispiel die Zone us-central1-b:

    $ gcloud config set compute/zone us-central1-b
    

    Cloud TPU ist in den folgenden Zonen verfügbar:

    USA

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB us-central1-b
    us-central1-c
    us-central1-f
    v2–32 32 256 GiB us-central1-a
    v2-128 128 1 TiB us-central1-a
    v2-256 256 2 TiB us-central1-a
    v2-512 512 4 TiB us-central1-a
    TPU-Typ (v3) TPU v3-Kerne Gesamter TPU-Arbeitsspeicher Verfügbare Zonen
    v3–8 8 128 GiB us-central1-a
    us-central1-b
    us-central1-f

    Europa

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB europe-west4-a
    v2–32 32 256 GiB europe-west4-a
    v2-128 128 1 TiB europe-west4-a
    v2-256 256 2 TiB europe-west4-a
    v2-512 512 4 TiB europe-west4-a
    TPU-Typ (v3) TPU v3-Kerne Gesamter TPU-Arbeitsspeicher Verfügbare Zonen
    v3–8 8 128 GiB europe-west4-a
    v3-32 32 512 GiB europe-west4-a
    v3–64 64 1 TiB europe-west4-a
    v3–128 128 2 TiB europe-west4-a
    v3–256 256 4 TiB europe-west4-a
    v3–512 512 8 TiB europe-west4-a
    v3–1024 1.024 16 TiB europe-west4-a
    v3–2048 2.048 32 TiB europe-west4-a

    Asiatisch-pazifischer Raum

    TPU-Typ (v2) TPU v2-Kerne Gesamter TPU-Arbeitsspeicher Region/Zone
    v2–8 8 64 GiB asia-east1-c
  3. Verwenden Sie den Befehl gcloud container clusters, um in GKE einen Cluster mit Unterstützung für Cloud TPU zu erstellen. Der GKE-Cluster und seine Knotenpools müssen in einer Zone erstellt werden, in der Cloud TPU verfügbar ist, wie oben im Abschnitt über Umgebungsvariablen beschrieben. Mit dem folgenden Befehl wird ein Cluster mit dem Namen tpu-models-cluster erstellt:

    $ gcloud container clusters create tpu-models-cluster \
      --cluster-version=1.16 \
      --scopes=cloud-platform \
      --enable-ip-alias \
      --enable-tpu
    

    Dabei gilt:

    • --cluster-version=1.16 gibt an, dass der Cluster die neueste Version von Kubernetes 1.16 verwendet. Sie müssen mindestens die Version 1.13.4-gke.5 verwenden.
    • --scopes=cloud-platform sorgt dafür, dass alle Knoten im Cluster Zugriff auf Ihren Cloud Storage-Bucket in Google Cloud haben, der oben als YOUR-CLOUD-PROJECT definiert ist. Der Cluster und der Storage-Bucket müssen sich in demselben Projekt befinden, damit dies funktioniert. Beachten Sie, dass die Pods standardmäßig die Bereiche der Knoten übernehmen, für die sie bereitgestellt werden. Daher teilt --scopes=cloud-platform allen Pods, die im Cluster ausgeführt werden, den Bereich cloud-platform zu. Informationen dazu, wie Sie den Zugriff für einzelne Pods einschränken können, finden Sie im GKE-Leitfaden unter Mit Dienstkonten bei der Cloud Platform authentifizieren.
    • --enable-ip-alias gibt an, dass der Cluster Alias-IP-Bereiche verwendet. Dies ist für die Nutzung von Cloud TPU in GKE erforderlich.
    • --enable-tpu gibt an, dass der Cluster Cloud TPU unterstützen muss.

      Nachdem der Befehl beendet ist, wird eine Bestätigungsmeldung ähnlich der folgenden angezeigt:

      kubeconfig-Eintrag für tpu-models-cluster generiert. NAME LOCATION MASTER_VERSION MASTER_IP MACHINE_TYPE NODE_VERSION NUM_NODES STATUS tpu-models-cluster us-central1-b 1.10.4-gke.2 35.232.204.86 n1-standard-2 1.10.4-gke.2 3 RUNNING

ResNet-50-Modell ausführen

Jetzt können Sie das ResNet-50-Modell mit Cloud TPU und GKE ausführen.

  1. Erstellen Sie eine Jobspezifikation in einer Datei namens resnet_k8s.yaml:

    • Laden Sie die vorbereitete Jobspezifikation von GitHub herunter oder kopieren Sie sie.
    • Ändern Sie <my-model-bucket> in der Jobspezifikation in den Namen des zuvor erstellten Cloud Storage-Buckets.

    Die Jobspezifikation muss auf die TensorFlow-TPU-Modelle verweisen, die unter gcr.io/tensorflow/tpu-models in einem Docker-Container verfügbar sind. Das ist ein Speicherort in der Container Registry.

  2. Erstellen Sie den Job im GKE-Cluster:

    $ kubectl create -f resnet_k8s.yaml
    job "resnet-tpu" created
  3. Warten Sie, bis der Job geplant ist.

    $ kubectl get pods -w
    
    NAME               READY     STATUS    RESTARTS   AGE
    resnet-tpu-cmvlf   0/1       Pending   0          1m
    

    Die Lebensdauer von Cloud TPU-Knoten ist an die Pods gebunden, die diese anfordern. Die Cloud TPU wird nach Bedarf beim Planen des Pods erstellt und beim Löschen des Pods anderweitig verwendet.

    Es dauert etwa 5 Minuten, bis die Pod-Planung abgeschlossen ist.

    Nach 5 Minuten sollten Sie in etwa Folgendes sehen:

    NAME               READY     STATUS    RESTARTS   AGE
    resnet-tpu-cmvlf   1/1       Running   0          6m
    
  4. In den Pod-Logs können Sie den Fortschritt des Jobs erkennen.

    $ kubectl logs resnet-tpu-cmvlf

    Sie können die Ausgabe auch auf dem GKE-Dashboard "Arbeitslasten" in der Cloud Console aufrufen.

    Es kann eine Weile dauern, bis der erste Eintrag im Log angezeigt wird. Sie können etwa folgende Ausgabe erwarten:

    I0622 18:14:31.617954 140178400511808 tf_logging.py:116] Calling model_fn.
    I0622 18:14:40.449557 140178400511808 tf_logging.py:116] Create CheckpointSaverHook.
    I0622 18:14:40.697138 140178400511808 tf_logging.py:116] Done calling model_fn.
    I0622 18:14:44.004508 140178400511808 tf_logging.py:116] TPU job name worker
    I0622 18:14:45.254548 140178400511808 tf_logging.py:116] Graph was finalized.
    I0622 18:14:48.346483 140178400511808 tf_logging.py:116] Running local_init_op.
    I0622 18:14:48.506665 140178400511808 tf_logging.py:116] Done running local_init_op.
    I0622 18:14:49.135080 140178400511808 tf_logging.py:116] Init TPU system
    I0622 18:15:00.188153 140178400511808 tf_logging.py:116] Start infeed thread controller
    I0622 18:15:00.188635 140177578452736 tf_logging.py:116] Starting infeed thread controller.
    I0622 18:15:00.188838 140178400511808 tf_logging.py:116] Start outfeed thread controller
    I0622 18:15:00.189151 140177570060032 tf_logging.py:116] Starting outfeed thread controller.
    I0622 18:15:07.316534 140178400511808 tf_logging.py:116] Enqueue next (100) batch(es) of data to infeed.
    I0622 18:15:07.316904 140178400511808 tf_logging.py:116] Dequeue next (100) batch(es) of data from outfeed.
    I0622 18:16:13.881397 140178400511808 tf_logging.py:116] Saving checkpoints for 100 into gs://<my-model-bucket>/resnet/model.ckpt.
    I0622 18:16:21.147114 140178400511808 tf_logging.py:116] loss = 1.589756, step = 0
    I0622 18:16:21.148168 140178400511808 tf_logging.py:116] loss = 1.589756, step = 0
    I0622 18:16:21.150870 140178400511808 tf_logging.py:116] Enqueue next (100) batch(es) of data to infeed.
    I0622 18:16:21.151168 140178400511808 tf_logging.py:116] Dequeue next (100) batch(es) of data from outfeed.
    I0622 18:17:00.739207 140178400511808 tf_logging.py:116] Enqueue next (100) batch(es) of data to infeed.
    I0622 18:17:00.739809 140178400511808 tf_logging.py:116] Dequeue next (100) batch(es) of data from outfeed.
    I0622 18:17:36.598773 140178400511808 tf_logging.py:116] global_step/sec: 2.65061
    I0622 18:17:37.040504 140178400511808 tf_logging.py:116] examples/sec: 2698.56
    I0622 18:17:37.041333 140178400511808 tf_logging.py:116] loss = 2.63023, step = 200 (75.893 sec)
    
  5. Rufen Sie das trainierte Modell unter gs://<my-model-bucket>/resnet/model.ckpt auf. Sie können Ihre Buckets auf der Cloud Storage-Browserseite in der Cloud Console anzeigen.

Clean-up

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

Konsole

So löschen Sie den GKE-Cluster:

  1. Rufen Sie die GKE-Seite in der Cloud Console auf.

    Zur Seite "GKE"

  2. Klicken Sie auf das Kästchen neben dem Cluster, den Sie löschen möchten.

  3. Klicken Sie auf Löschen.

Wenn Sie mit der Prüfung der Daten fertig sind, löschen Sie den Cloud Storage-Bucket, den Sie in dieser Anleitung erstellt haben.

  1. Rufen Sie die Cloud Storage-Seite in der Cloud Console auf.

    Zur Cloud Storage-Seite

  2. Klicken Sie auf das Kästchen neben dem Bucket, den Sie löschen möchten.

  3. Klicken Sie auf Löschen.

Unter Cloud Storage-Preise finden Sie Informationen zu den Limits für die kostenlose Speichernutzung sowie weitere Preisinformationen.

gcloud

Falls Sie das Projekt und die Zone für diese Sitzung noch nicht festgelegt haben, holen Sie dies jetzt nach. Die Anleitung hierzu finden Sie weiter oben in diesem Leitfaden. Befolgen Sie dann diese Schritte zur Bereinigung:

  1. Führen Sie den folgenden Befehl aus, um den GKE-Cluster tpu-models-cluster zu löschen. Ersetzen Sie dabei YOUR-PROJECT durch den Namen Ihres Google Cloud-Projekts:

    $ gcloud container clusters delete tpu-models-cluster --project=YOUR-PROJECT
    
  2. Wenn Sie mit der Prüfung der Daten fertig sind, löschen Sie mit dem Befehl gsutil alle Cloud Storage-Buckets, die Sie in dieser Anleitung erstellt haben. Ersetzen Sie YOUR-BUCKET durch den Namen Ihres Cloud Storage-Buckets:

    $ gsutil rm -r gs://YOUR-BUCKET
    

    Unter Cloud Storage-Preise finden Sie Informationen zu den Limits für die kostenlose Speichernutzung sowie weitere Preisinformationen.

Nächste Schritte