Cloud TPU-Reservierung freigeben
In diesem Dokument wird beschrieben, wie Sie die Freigabe von Reservierungen aktivieren. Mit der Freigabe von Reservierungen können Sie TPU-VMs in einem Projekt (Nutzerprojekt) erstellen und eine Reservierung verwenden, die zu einem anderen Projekt (Inhaberprojekt) gehört. Durch die Freigabe von Reservierungen können Sie auch benutzerdefinierte Trainings- oder Vorhersagejobs in Vertex AI mit einer TPU-Reservierung ausführen.
Das Inhaberprojekt ist das Projekt, in dem Sie die Reservierung erstellt haben. Nutzerprojekte sind ein oder mehrere Projekte, für die die Reservierung freigegeben ist. Sie können TPU-VMs im Inhaberprojekt und in Nutzerprojekten mithilfe der Reservierung im Inhaberprojekt erstellen.
Weitere Informationen zum Erhalt einer TPU-Reservierung finden Sie unter Cloud TPU-Reservierungen.
Beschränkungen
Beachten Sie Folgendes, bevor Sie eine TPU-Reservierung freigeben:
Sie können eine freigegebene Reservierung nur über das Inhaberprojekt ändern.
Sie können eine kurzfristige Reservierung im Kalendermodus oder eine langfristige Reservierung nur so ändern:
Sie können die Reservierung erst nach ihrer Startzeit ändern.
Sie können die Reservierung nur so ändern, dass Jobs in Vertex AI sie nutzen dürfen oder nicht.
Cloud TPU-Reservierung freigeben
In den folgenden Abschnitten werden die verschiedenen Methoden zum Teilen einer Reservierung beschrieben.
Freigabe einer TPU-Reservierung aktivieren
Sie können TPU-VMs in einem Nutzerprojekt mit einer Reservierung erstellen, die zu einem anderen Projekt gehört. Alle Projekte, die eine TPU-Reservierung gemeinsam nutzen, müssen zu derselben Organisation gehören.
So aktivieren Sie die Freigabe einer TPU-Reservierung:
Erteilen Sie dem Inhaberprojekt mit dem Befehl
gcloud resource-manager org-policies allow
die Berechtigung zum Erstellen und Ändern freigegebener Reservierungen:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
Ersetzen Sie Folgendes:
- OWNER_PROJECT_NUMBER: Die Projektnummer (nicht die Projekt-ID) eines Projekts in Ihrer Organisation, für das Sie das Erstellen und Ändern freigegebener Reservierungen ermöglichen möchten.
- ORGANIZATION_ID: Die Ressourcen-ID der Organisation.
Aktivieren Sie die Freigabe des Rabatts für zugesicherte Nutzung über die Google Cloud Konsole. Eine Anleitung finden Sie unter Freigabe von CUDs für ressourcenbasierte Zusicherungen aktivieren.
Verwenden Sie den Befehl
gcloud beta compute reservations update
mit den Flags--share-setting=projects
und--share-with
, um die Freigabe zu aktivieren:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung.
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält.
- CONSUMER_PROJECT_IDS: Eine durch Kommas getrennte Liste von IDs von Projekten, die diese Reservierung nutzen können. Beispiel:
project-1,project-2
Sie können bis zu 100 Nutzerprojekte hinzufügen. Diese Projekte müssen sich in derselben Organisation wie das Inhaberprojekt befinden. Geben Sie nicht das Inhaberprojekt an. Standardmäßig darf das Inhaberprojekt die Reservierung bereits nutzen. - ZONE: Die Zone, in der sich die Reservierung befindet.
Freigabe einer TPU-Reservierung deaktivieren
Wenn Sie die Freigabe einer TPU-Reservierung für eine Liste von Nutzerprojekten deaktivieren möchten, verwenden Sie den Befehl gcloud beta compute reservations
update
mit den Flags --share-setting=projects
und --remove-share-with
:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung.
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält.
- CONSUMER_PROJECT_IDS: Eine durch Kommas getrennte Liste von IDs von Projekten, für die Sie die Reservierung nicht mehr freigeben möchten. Beispiel:
project-1,project-2
- ZONE: Die Zone, in der sich die Reservierung befindet.
Wenn Sie die Freigabe einer TPU-Reservierung für alle Nutzerprojekte deaktivieren möchten, ändern Sie die Reservierung mit dem Befehl gcloud beta compute reservations
update
und dem Flag --share-setting=local
in eine lokale Reservierung:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung.
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält.
- ZONE: Die Zone, in der sich die Reservierung befindet.
Vertex AI die Nutzung einer TPU-Reservierung erlauben
Sie können festlegen, dass Trainings- oder Vorhersagejobs in Vertex AI eine kurzfristige Reservierung im Kalendermodus oder eine langfristige Reservierung erst nach ihrer Startzeit nutzen dürfen.
Wenn Sie Vertex AI erlauben möchten, eine TPU-Reservierung zu nutzen, verwenden Sie den Befehl gcloud beta compute
reservations update
mit dem Flag --reservation-sharing-policy=ALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung.
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält.
- ZONE: Die Zone der Reservierung.
Vertex AI die Verwendung einer TPU-Reservierung untersagen
Bevor Sie Vertex AI die Nutzung einer TPU-Reservierung untersagen, beenden Sie alle Vertex AI-Jobs, die sie verwenden. Andernfalls treten Fehler auf.
Wenn Sie Vertex AI nicht erlauben möchten, eine TPU-Reservierung zu nutzen, verwenden Sie den Befehl gcloud beta compute reservations
update
mit dem Flag --reservation-sharing-policy=DISALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung.
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält.
- ZONE: Die Zone der Reservierung.
Informationen zu einer freigegebenen Reservierung abrufen
Informationen zu einer freigegebenen Reservierung erhalten Sie nur über das Inhaberprojekt.
Mit dem Befehl gcloud compute
reservations describe
können Sie Informationen zu einer freigegebenen Reservierung abrufen:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
Ersetzen Sie Folgendes:
- RESERVATION_NAME: Der Name der Reservierung.
- OWNER_PROJECT_ID: Die ID des Projekts, das die Reservierung enthält.
- ZONE: Die Zone der Reservierung.
Die Antwort ähnelt dem folgenden Beispiel.
aggregateReservation: [...] name: RESERVATION_NAME reservationSharingPolicy: serviceShareType: ALLOW_ALL resourceStatus: {} selfLink: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME shareSettings: projectMap: 'CONSUMER_PROJECT_1': projectId: 'CONSUMER_PROJECT_1' 'CONSUMER_PROJECT_2': projectId: 'CONSUMER_PROJECT_2' shareType: SPECIFIC_PROJECTS specificReservationRequired: true status: READY zone: https://www.googleapis.com/compute/v1/projects/OWNER_PROJECT_ID/zones/ZONE