Partilhe uma reserva de Cloud TPU
Este documento descreve como ativar a partilha de reservas. A partilha de reservas permite-lhe criar VMs de TPU num projeto (um projeto consumidor) e usar uma reserva que outro projeto (o projeto proprietário) detém. A partilha de reservas também lhe permite executar tarefas de preparação ou previsão personalizadas no Vertex AI através de uma reserva de TPU.
O projeto proprietário é o projeto onde criou a reserva. Os projetos de consumo são um ou mais projetos que partilham a reserva. Pode criar VMs de TPU no projeto proprietário e nos projetos consumidores através da reserva no projeto proprietário.
Para mais informações sobre como obter uma reserva de TPU, consulte o artigo Acerca das reservas de Cloud TPU.
posteriores da TPU.Limitações
Antes de partilhar uma reserva de TPU, considere o seguinte:
Só pode modificar uma reserva partilhada a partir do projeto proprietário.
Pode modificar uma reserva de curta duração no modo de calendário ou uma reserva de longa duração apenas da seguinte forma:
Só pode modificar a reserva após a hora de início.
Só pode modificar a reserva para permitir ou não permitir que as tarefas na Vertex AI a consumam.
Partilhe uma reserva de Cloud TPU
As secções seguintes descrevem os diferentes métodos para partilhar uma reserva.
Ative a partilha de uma reserva de TPU
Pode criar VMs de TPU num projeto de consumidor usando uma reserva pertencente a outro projeto. Todos os projetos que partilham uma reserva de TPU têm de fazer parte da mesma organização.
Para ativar a partilha de uma reserva de TPU:
Conceda autorização ao projeto proprietário para criar e modificar reservas partilhadas usando o comando
gcloud resource-manager org-policies allow
:gcloud resource-manager org-policies allow \ compute.sharedReservationsOwnerProjects \ projects/OWNER_PROJECT_NUMBER --organization=ORGANIZATION_ID
Substitua o seguinte:
- OWNER_PROJECT_NUMBER: O número do projeto (não o ID do projeto) de um projeto na sua organização ao qual quer permitir criar e modificar reservas partilhadas.
- ORGANIZATION_ID: o ID do recurso da organização da sua organização.
Ative a partilha de CUD através da consola Google Cloud . Para ver instruções, consulte o artigo Ative a partilha de CUD para compromissos baseados em recursos.
Para ativar a partilha, use o comando
gcloud beta compute reservations update
com as flags--share-setting=projects
e--share-with
:gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Substitua o seguinte:
- RESERVATION_NAME: o nome da reserva.
- OWNER_PROJECT_ID: o ID do projeto que contém a reserva.
- CONSUMER_PROJECT_IDS: uma lista de IDs separados por vírgulas de projetos que podem consumir esta reserva. Por exemplo,
project-1,project-2
. Pode incluir até 100 projetos de consumo. Estes projetos têm de estar na mesma organização que o projeto proprietário. Não inclua o projeto proprietário. Por predefinição, o projeto proprietário já tem autorização para consumir a reserva. - ZONE: a zona onde a reserva está localizada.
Desative a partilha de uma reserva de TPU
Para desativar a partilha de uma reserva de TPU com uma lista de projetos de consumidor, use o comando gcloud beta compute reservations
update
com os flags --share-setting=projects
e --remove-share-with
:
gcloud compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=projects \ --remove-share-with=CONSUMER_PROJECT_IDS \ --zone=ZONE
Substitua o seguinte:
- RESERVATION_NAME: o nome da reserva.
- OWNER_PROJECT_ID: o ID do projeto que contém a reserva.
- CONSUMER_PROJECT_IDS: uma lista de IDs de projetos separados por vírgulas com os quais quer deixar de partilhar a reserva. Por exemplo,
project-1,project-2
. - ZONE: a zona onde a reserva está localizada.
Para desativar a partilha de uma reserva de TPU com todos os projetos de consumidor, altere a reserva para uma reserva local através do comando gcloud beta compute reservations
update
com a flag --share-setting=local
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --share-setting=local \ --zone=ZONE
Substitua o seguinte:
- RESERVATION_NAME: o nome da reserva.
- OWNER_PROJECT_ID: o ID do projeto que contém a reserva.
- ZONE: a zona onde a reserva está localizada.
Permita que o Vertex AI use uma reserva de TPU
Pode permitir que as tarefas de preparação ou de previsão no Vertex AI consumam uma reserva de curto prazo no modo de calendário ou uma reserva de longo prazo apenas após a respetiva hora de início.
Para permitir que o Vertex AI consuma uma reserva de TPU, use o comando
gcloud beta compute
reservations update
com a flag
--reservation-sharing-policy=ALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=ALLOW_ALL
Substitua o seguinte:
- RESERVATION_NAME: o nome da reserva.
- OWNER_PROJECT_ID: o ID do projeto que contém a reserva.
- ZONE: a zona da reserva.
Não permitir que o Vertex AI use uma reserva de TPU
Antes de impedir que o Vertex AI consuma uma reserva de TPU, pare todas as tarefas do Vertex AI que a usam. Caso contrário, ocorrem erros.
Para não permitir que o Vertex AI consuma uma reserva de TPU, use o comando gcloud beta compute reservations
update
com a flag --reservation-sharing-policy=DISALLOW_ALL
:
gcloud beta compute reservations update RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE \ --reservation-sharing-policy=DISALLOW_ALL
Substitua o seguinte:
- RESERVATION_NAME: o nome da reserva.
- OWNER_PROJECT_ID: o ID do projeto que contém a reserva.
- ZONE: a zona da reserva.
Receba informações sobre uma reserva partilhada
Só pode obter informações sobre uma reserva partilhada a partir do projeto proprietário.
Para obter informações sobre uma reserva partilhada, use o gcloud compute
reservations describe
comando:
gcloud compute reservations describe RESERVATION_NAME \ --project=OWNER_PROJECT_ID \ --zone=ZONE
Substitua o seguinte:
- RESERVATION_NAME: o nome da reserva.
- OWNER_PROJECT_ID: o ID do projeto que contém a reserva.
- ZONE: a zona da reserva.
A resposta é semelhante à seguinte:
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