Neste documento, descrevemos como fazer o seguinte depois de criar uma solicitação de redimensionamento em um grupo gerenciado de instâncias (MIG):
Veja as solicitações de redimensionamento em um MIG para monitorar os estados ou solucionar problemas.
Cancele as solicitações de redimensionamento para impedir que um MIG crie o número solicitado de instâncias de máquina virtual (VM).
Excluir solicitações de redimensionamento?
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
Selecione a guia para como planeja usar as amostras nesta página:
Console
Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Defina uma região e uma zona padrão.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
-
Funções exigidas
Para ter as permissões necessárias para visualizar, cancelar ou excluir solicitações de redimensionamento em um MIG,
peça ao administrador para conceder a você o
Administrador de instâncias do Compute (v1) ) (roles/compute.instanceAdmin.v1
) papel do IAM no projeto.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Este papel predefinido contém as permissões necessárias para visualizar, cancelar ou excluir solicitações de redimensionamento em um MIG. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para visualizar, cancelar ou excluir solicitações de redimensionamento em um MIG:
-
Para cancelar ou excluir solicitações de redimensionamento em um MIG:
compute.instanceGroupManagers.update
-
Para ver uma lista de solicitações de redimensionamento em um MIG:
compute.instanceGroupManagers.list
-
Para conferir os detalhes de uma solicitação de redimensionamento:
compute.instanceGroupManagers.get
Essas permissões também podem ser concedidas com papéis personalizados ou outros papéis predefinidos.
Ver suas solicitações de redimensionamento
Com base nos detalhes que você quer visualizar em uma solicitação de redimensionamento, use um dos seguintes métodos:
Para visualizar os detalhes e estados de configuração de todas as solicitações de redimensionamento em um MIG, confira uma lista de solicitações de redimensionamento em um MIG.
Veja os detalhes de uma solicitação de redimensionamento para exibir os detalhes de configuração, o estado e as mensagens de erro em uma solicitação de redimensionamento.
Ver uma lista de solicitações de redimensionamento em um MIG
É possível ver uma lista de todas as solicitações de redimensionamento em um MIG e os detalhes delas, como os estados, o número solicitado de VMs e a duração da execução das VMs.
Console
Para visualizar uma lista de todas as solicitações de redimensionamento em um MIG, faça o seguinte:
No Console do Google Cloud, acesse a página Grupos de instâncias.
Na coluna Nome, clique no nome do MIG que contém solicitações de redimensionamento.
A página de visão geral do MIG será aberta.
Na linha Solicitações de redimensionamento, clique em
Editar solicitações de redimensionamento.O painel Solicitações de redimensionamento será exibido.
gcloud
Para ver uma lista de todas as solicitações de redimensionamento em um MIG, use o
comando instance-groups managed resize-requests list
.
gcloud compute instance-groups managed resize-requests list INSTANCE_GROUP_NAME \
--zone=ZONE
Substitua:
INSTANCE_GROUP_NAME
: o nome de um MIG zonal atual com solicitações de redimensionamento aceitas, concluídas, canceladas ou com falha.ZONE
: a zona em que o MIG está localizado.
O resultado será assim:
NAME: rr-01
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 5
STATE: SUCCEEDED
REQUESTED_RUN_DURATION: P1D
NAME: rr-02
LOCATION: us-central1-a
SCOPE: zone
RESIZE_BY: 10
STATE: ACCEPTED
REQUESTED_RUN_DURATION: P3D
REST
Para visualizar uma lista de todas as solicitações de redimensionamento em um MIG zonal, faça uma solicitação GET
para o
método instanceGroupManagerResizeRequests.list
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
Substitua:
PROJECT_ID
: o ID do projeto em que um MIG zonal atual com solicitações de redimensionamento aceitas, bem-sucedidas, canceladas ou com falha está localizado.ZONE
: a zona em que o MIG está localizado.INSTANCE_GROUP_NAME
: o nome de um MIG zonal atual com solicitações de redimensionamento aceitas, concluídas, canceladas ou com falha.
O resultado será assim:
{
"kind": "compute#instanceGroupManagerResizeRequestList",
"id": "projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests",
"items": [
{
"kind": "compute#instanceGroupManagerResizeRequest",
"id": "4247139565532196982",
"creationTimestamp": "2024-01-08T07:51:53.034-08:00",
"name": "rr-01",
"zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
"count": 5,
"resizeBy": 5,
"requestedRunDuration": {
"seconds": "86400",
"nanos": 0
},
"state": "SUCCEEDED",
"status": {},
"selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
"selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
},
{
"kind": "compute#instanceGroupManagerResizeRequest",
"id": "8095866098849525652",
"creationTimestamp": "2024-01-11T08:04:11.851-08:00",
"name": "rr-02",
"zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
"count": 10,
"resizeBy": 10,
"requestedRunDuration": {
"seconds": "259200",
"nanos": 0
},
"state": "ACCEPTED",
"status": {},
"selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
"selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
}
],
"selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}
Visualizar os detalhes de uma solicitação de redimensionamento
Veja os detalhes de uma solicitação de redimensionamento para analisar a configuração dela e, opcionalmente, solucioná-la, caso a solicitação ainda não tenha sido bem-sucedida.
Para entender por que uma solicitação de redimensionamento (ACCEPTED
) não está sendo bem-sucedida, verifique o
campo lastAttempt.error.errors.code
nos detalhes. Estes são os códigos de erro possíveis:
ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
: os recursos solicitados estão temporariamente indisponíveis.QUOTA_EXCEEDED
: seu projeto não tem cota para os recursos solicitados. Para aumentar a cota do projeto, consulte Solicitar uma cota maior.
gcloud
Para visualizar os detalhes de uma solicitação de redimensionamento em um MIG zonal, use o
comando instance-groups managed resize-requests describe
.
gcloud compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
--resize-request=RESIZE_REQUEST_NAME \
--zone=ZONE
Substitua:
INSTANCE_GROUP_NAME
: o nome de um MIG zonal atual em que a solicitação de redimensionamento está localizada.RESIZE_REQUEST_NAME
: o nome de uma solicitação de redimensionamento existente para a qual você quer ver os detalhes.ZONE
: a zona em que o MIG está localizado.
O resultado será assim:
creationTimestamp: '2024-01-10T07:51:53.034-08:00'
id: '4247139565532196982'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
nanos: 0
seconds: '6000'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982
state: ACCEPTED
status:
lastAttempt:
error:
errors:
- code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
message: There are currently not enough resources available to fulfill the request.
- code: QUOTA_EXCEEDED
message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
zone: https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a
REST
Para visualizar os detalhes de uma solicitação de redimensionamento em um MIG, faça uma solicitação GET
para o
método instanceGroupManagerResizeRequests.get
.
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que o MIG zonal está localizado.ZONE
: a zona em que o MIG está localizado.INSTANCE_GROUP_NAME
: o nome de um MIG zonal atual em que a solicitação de redimensionamento está localizada.RESIZE_REQUEST_NAME
: o nome de uma solicitação de redimensionamento existente para a qual você quer ver os detalhes.
O resultado será assim:
{
"kind": "compute#instanceGroupManagerResizeRequest",
"id": "4247139565532196982",
"creationTimestamp": "2024-01-10T07:51:53.034-08:00",
"name": "example-request",
"zone": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a",
"count": 10,
"resizeBy": 10,
"requestedRunDuration": {
"seconds": "6000",
"nanos": 0
},
"state": "ACCEPTED",
"status": {
"lastAttempt": {
"error": {
"errors": [
{
"code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
"message": "There are currently not enough resources available to fulfill the request.",
},
{
"code": "QUOTA_EXCEEDED",
"message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
}
]
}
}
},
"selfLink": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
"selfLinkWithId": "https://www.googleapis.com/compute/beta/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/4247139565532196982"
}
Cancelar solicitações de redimensionamento em um MIG
É possível cancelar as solicitações de redimensionamento em um MIG para impedir que ele tente
criar o número solicitado de VMs. Só é possível cancelar as solicitações de redimensionamento aceitas (ACCEPTED
). Depois de cancelar uma solicitação de redimensionamento, será possível
excluí-la ou permitir que o Compute Engine a exclua automaticamente
após 14 dias.
Para cancelar mais de uma solicitação de redimensionamento por vez, use o console do Google Cloud ou a CLI gcloud.
Console
Para cancelar solicitações de redimensionamento em um MIG zonal, faça o seguinte:
No Console do Google Cloud, acesse a página Grupos de instâncias.
Na coluna Nome, clique no nome do MIG que contém solicitações de redimensionamento.
A página de visão geral do MIG será aberta.
Na linha Solicitações de redimensionamento, clique em
Editar solicitações de redimensionamento.O painel Solicitações de redimensionamento será exibido.
Selecione as solicitações de redimensionamento a serem canceladas.
Clique em
Cancelar e em Confirmar.
gcloud
Para cancelar solicitações de redimensionamento em um MIG zonal, use o
comando instance-groups managed resize-requests cancel
.
gcloud compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \
--resize-requests=RESIZE_REQUEST_NAMES \
--zone=ZONE
Substitua:
INSTANCE_GROUP_NAME
: o nome de um MIG zonal atual com solicitações de redimensionamento aceitas.RESIZE_REQUEST_NAMES
: uma lista separada por vírgulas de nomes de solicitações de redimensionamento aceitas no MIG zonal especificado; Por exemplo, especifiquerequest-1,request-2
.ZONE
: a zona em que o MIG está localizado.
REST
Para cancelar uma solicitação de redimensionamento em um MIG zonal, faça uma solicitação POST
para o
método instanceGroupManagerResizeRequests.cancel
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
Substitua:
PROJECT_ID
: o ID do projeto em que um MIG zonal atual com uma solicitação de redimensionamento aceita está localizado.ZONE
: a zona em que o MIG está localizado.INSTANCE_GROUP_NAME
: o nome do MIG;RESIZE_REQUEST_NAME
: o nome da solicitação de redimensionamento a ser cancelada.
Excluir solicitações de redimensionamento em um MIG
Por padrão, o Compute Engine exclui automaticamente uma solicitação de redimensionamento 14 dias após definir o estado dela como um dos seguintes:
Concluído (
SUCCEEDED
)Falha (
FAILED
)Cancelado (
CANCELLED
)
No entanto, é possível excluir imediatamente uma solicitação de redimensionamento antes disso, conforme descrito nesta seção.
A exclusão de uma solicitação de redimensionamento bem-sucedida não exclui as VMs criadas por meio da solicitação. O MIG exclui automaticamente essas VMs ao final da duração de execução solicitada. No entanto, se o job tiver concluído a execução e você não precisar mais das VMs, exclua-as.
Para excluir mais de uma solicitação de redimensionamento por vez, use o console do Google Cloud ou a CLI gcloud.
Console
Para excluir solicitações de redimensionamento em um MIG zonal, faça o seguinte:
No Console do Google Cloud, acesse a página Grupos de instâncias.
Na coluna Nome, clique no nome do MIG que contém solicitações de redimensionamento.
A página de visão geral do MIG será aberta.
Na linha Solicitações de redimensionamento, clique em
Editar solicitações de redimensionamento.O painel Solicitações de redimensionamento será exibido.
Selecione as solicitações de redimensionamento a serem excluídas.
Clique em
Excluir e em Confirmar.
gcloud
Para excluir solicitações de redimensionamento em um MIG zonal, use o
comando instance-groups managed resize-requests delete
.
gcloud compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \
--resize-requests=RESIZE_REQUEST_NAMES \
--zone=ZONE
Substitua:
INSTANCE_GROUP_NAME
: o nome de um MIG zonal atual com solicitações de redimensionamento bem-sucedidas, com falha ou canceladas.RESIZE_REQUEST_NAMES
: uma lista separada por vírgulas de nomes de solicitações de redimensionamento a serem excluídas no MIG. Por exemplo, especifiquerequest-1,request-2
.ZONE
: a zona em que o MIG está localizado.
REST
Para excluir uma solicitação de redimensionamento em um MIG zonal, faça uma solicitação DELETE
para o
método instanceGroupManagerResizeRequests.delete
.
DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
Substitua:
PROJECT_ID
: o ID do projeto em que um MIG zonal atual com solicitações de redimensionamento bem-sucedidas, com falha ou canceladas está localizado.ZONE
: a zona em que o MIG está localizado.INSTANCE_GROUP_NAME
: o nome do MIG;RESIZE_REQUEST_NAME
: o nome da solicitação de redimensionamento a ser excluída.