Compartir una reserva de TPU de Cloud
En este documento se describe cómo habilitar la función de compartir reservas. La función de compartir reservas te permite crear VMs de TPU en un proyecto (un proyecto de consumidor) y usar una reserva que pertenece a otro proyecto (el proyecto propietario). La función de compartir reservas también te permite ejecutar tareas de entrenamiento o predicción personalizadas en Vertex AI mediante una reserva de TPU.
El proyecto propietario es el proyecto en el que has creado la reserva. Los proyectos de consumidor son uno o varios proyectos que comparten la reserva. Puedes crear VMs de TPU en el proyecto propietario y en los proyectos de consumidor mediante la reserva del proyecto propietario.
Para obtener más información sobre cómo conseguir una reserva de TPU, consulta Acerca de las reservas de TPU de Cloud.
Limitaciones
Antes de compartir una reserva de TPU, ten en cuenta lo siguiente:
Solo puedes modificar una reserva compartida desde el proyecto de su propietario.
Puedes modificar una reserva a corto plazo en el modo Calendario o una reserva a largo plazo de las siguientes formas:
Solo puedes modificar la reserva después de la hora de inicio.
Solo puedes modificar la reserva para permitir o denegar que los trabajos de Vertex AI la consuman.
Compartir una reserva de TPU de Cloud
En las siguientes secciones se describen los diferentes métodos para compartir una reserva.
Habilitar el uso compartido de una reserva de TPU
Puedes crear VMs de TPU en un proyecto de consumidor mediante una reserva que sea propiedad de otro proyecto. Todos los proyectos que compartan una reserva de TPU deben formar parte de la misma organización.
Para habilitar el uso compartido de una reserva de TPU, sigue estos pasos:
Concede permiso al proyecto propietario para crear y modificar reservas compartidas mediante el comando
gcloud resource-manager org-policies allow
:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
Haz los cambios siguientes:
- OWNER_PROJECT_NUMBER: el número de proyecto (no el ID de proyecto) de un proyecto de tu organización al que quieras permitirle crear y modificar reservas compartidas.
- ORGANIZATION_ID: el ID de recurso de organización de tu organización.
Habilita la opción de compartir CUDs a través de la consola Google Cloud . Para obtener instrucciones, consulta Habilitar el uso compartido de CUDs para compromisos basados en recursos.
Para habilitar la opción de compartir, usa el comando
gcloud beta compute reservations update
con las marcas--share-setting=projects
y--share-with
:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Haz los cambios siguientes:
- RESERVATION_NAME: el nombre de la reserva.
- OWNER_PROJECT_ID: ID del proyecto que contiene la reserva.
- CONSUMER_PROJECT_IDS: lista separada por comas de los IDs de los proyectos que pueden usar esta reserva. Por ejemplo,
project-1,project-2
. Puedes incluir hasta 100 proyectos de consumidor. Estos proyectos deben pertenecer a la misma organización que el proyecto propietario. No incluyas el proyecto propietario. De forma predeterminada, el proyecto propietario ya tiene permiso para usar la reserva. - ZONE: la zona en la que se encuentra la reserva.
Inhabilitar el uso compartido de una reserva de TPU
Para inhabilitar el uso compartido de una reserva de TPU con una lista de proyectos de consumidor, usa el comando gcloud beta compute reservations
update
con las marcas --share-setting=projects
y --remove-share-with
:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Haz los cambios siguientes:
- RESERVATION_NAME: el nombre de la reserva.
- OWNER_PROJECT_ID: ID del proyecto que contiene la reserva.
- CONSUMER_PROJECT_IDS: lista separada por comas de los IDs de los proyectos con los que quieres dejar de compartir la reserva. Por ejemplo,
project-1,project-2
. - ZONE: la zona en la que se encuentra la reserva.
Para inhabilitar el uso compartido de una reserva de TPU con todos los proyectos de consumidor, cambia la reserva a una reserva local con el comando gcloud beta compute reservations
update
y la marca --share-setting=local
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
Haz los cambios siguientes:
- RESERVATION_NAME: el nombre de la reserva.
- OWNER_PROJECT_ID: ID del proyecto que contiene la reserva.
- ZONE: la zona en la que se encuentra la reserva.
Permitir que Vertex AI use una reserva de TPU
Puedes permitir que las tareas de entrenamiento o las tareas de predicción de Vertex AI consuman una reserva a corto plazo en modo calendario o una reserva a largo plazo solo después de su hora de inicio.
Para permitir que Vertex AI use una reserva de TPU, usa el comando gcloud beta compute
reservations update
con la marca --reservation-sharing-policy=ALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
Haz los cambios siguientes:
- RESERVATION_NAME: el nombre de la reserva.
- OWNER_PROJECT_ID: ID del proyecto que contiene la reserva.
- ZONE: la zona de la reserva.
No permitir que Vertex AI use una reserva de TPU
Antes de impedir que Vertex AI use una reserva de TPU, detén cualquier tarea de Vertex AI que la utilice. De lo contrario, se producirán errores.
Para impedir que Vertex AI consuma una reserva de TPU, usa el comando gcloud beta compute reservations
update
con la marca --reservation-sharing-policy=DISALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
Haz los cambios siguientes:
- RESERVATION_NAME: el nombre de la reserva.
- OWNER_PROJECT_ID: ID del proyecto que contiene la reserva.
- ZONE: la zona de la reserva.
Obtener información sobre una reserva compartida
Solo puedes obtener información sobre una reserva compartida desde el proyecto propietario.
Para obtener información sobre una reserva compartida, usa el comando gcloud compute
reservations describe
:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
Haz los cambios siguientes:
- RESERVATION_NAME: el nombre de la reserva.
- OWNER_PROJECT_ID: ID del proyecto que contiene la reserva.
- ZONE: la zona de la reserva.
La respuesta es similar a la siguiente:
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