Veja, cancele ou elimine pedidos de redimensionamento num MIG

Este documento descreve como fazer o seguinte depois de criar um pedido de redimensionamento num grupo de instâncias gerido (MIG):

Depois de criar pedidos de redimensionamento num MIG, pode fazer uma ou mais das seguintes ações:

  • Veja os pedidos de redimensionamento para monitorizar os respetivos estados ou resolver problemas.

  • Cancele os pedidos de redimensionamento para impedir que o GIG crie o número pedido de instâncias de máquinas virtuais (VMs).

  • Elimine os pedidos de redimensionamento quando já não precisar deles.

Antes de começar

  • Se ainda não o fez, veja como funcionam os pedidos de redimensionamento.
  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Funções necessárias

Para receber as autorizações de que precisa para ver, cancelar ou eliminar pedidos de redimensionamento num MIG, peça ao seu administrador para lhe conceder a função de IAM Administrador de instâncias do Compute (v1) (roles/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém as autorizações necessárias para ver, cancelar ou eliminar pedidos de redimensionamento num MIG. Para ver as autorizações exatas que são necessárias, expanda a secção Autorizações necessárias:

Autorizações necessárias

As seguintes autorizações são necessárias para ver, cancelar ou eliminar pedidos de redimensionamento num MIG:

  • Para cancelar ou eliminar pedidos de redimensionamento num MIG: compute.instanceGroupManagers.update
  • Para ver uma lista de pedidos de redimensionamento num MIG: compute.instanceGroupManagers.list
  • Para ver os detalhes de um pedido de redimensionamento: compute.instanceGroupManagers.get

Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.

Veja os seus pedidos de redimensionamento

Para ver informações sobre os pedidos de redimensionamento num MIG, use um dos seguintes métodos:

Veja uma lista de pedidos de redimensionamento num MIG

Para ver uma lista de todos os pedidos de redimensionamento num MIG, selecione uma das seguintes opções:

Para ver uma lista de todos os pedidos de redimensionamento num MIG regional, use a CLI gcloud ou a API REST. Caso contrário, para ver uma lista de todos os pedidos de redimensionamento num MIG zonal, selecione qualquer uma das seguintes opções:

Consola

  1. Na Google Cloud consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

  2. Na coluna Nome, clique no nome do MIG que contém pedidos de redimensionamento.

    É aberta a página de vista geral do MIG.

  3. Na linha Pedidos de redimensionamento, clique em Editar pedidos de redimensionamento.

    É apresentado o painel Pedidos de redimensionamento. Se a coluna Detalhes de um pedido de redimensionamento mostrar o valor Quota excedida ou ETA: indefinido, significa que o seu pedido encontrou um erro. Pode clicar nestes valores para saber mais.

    Para mais informações sobre a resolução de problemas de erros, consulte o artigo Veja os detalhes de um pedido de redimensionamento neste documento.

gcloud

Substitua o seguinte:

  • INSTANCE_GROUP_NAME: o nome de um MIG com pedidos de redimensionamento aceites, bem-sucedidos, cancelados ou com falhas.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

O resultado é semelhante ao seguinte para um MIG zonal:

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 ver uma lista de pedidos de redimensionamento num MIG zonal, envie um pedido GET usando o método instanceGroupManagerResizeRequests.list.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    
  • Para ver uma lista de pedidos de redimensionamento num MIG regional, envie um pedido GET usando o método beta.regionInstanceGroupManagerResizeRequests.list.

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests
    

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde se encontra um MIG com pedidos de redimensionamento aceites, bem-sucedidos, cancelados ou com falhas.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

  • INSTANCE_GROUP_NAME: o nome de um MIG existente com pedidos de redimensionamento aceites, bem-sucedidos, cancelados ou com falhas.

O resultado de um MIG zonal é semelhante ao seguinte:

{
  "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/v1/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/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-01",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/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/v1/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/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/rr-02",
      "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/8095866098849525652"
    }
  ],
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests"
}

Veja os detalhes de um pedido de redimensionamento

Pode ver os detalhes de um pedido de redimensionamento para rever a respetiva configuração e, opcionalmente, resolver problemas se o pedido ainda não tiver sido bem-sucedido.

Se um pedido de redimensionamento aceite não estiver a ter êxito, pode resolver o problema verificando o campo status.lastAttempt.error.errors.code nos detalhes do pedido. Seguem-se os códigos de erro possíveis:

  • QUOTA_EXCEEDED: o seu projeto não tem quota para os recursos pedidos. Para aumentar a quota do seu projeto, consulte o artigo Peça um ajuste da quota.

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS: os recursos pedidos estão temporariamente indisponíveis. O Compute Engine agendou a criação dos recursos pedidos e planeia criá-los quando ficarem disponíveis. Se o campo message contiver Expected time is indefinite, a Google recomenda que cancele o pedido e experimente uma ou mais das seguintes opções:

    • Crie um novo pedido de redimensionamento com um número inferior de VMs pedidas.

    • Use um tipo de máquina diferente no MIG e, em seguida, crie um novo pedido de redimensionamento. Para usar um tipo de máquina diferente, crie um novo modelo de instância e, em seguida, use esse modelo para criar ou atualizar um MIG.

    • Crie um pedido de redimensionamento num MIG localizado numa região ou zona diferente.

Para ver os detalhes de um pedido de redimensionamento, selecione uma das seguintes opções:

gcloud

  • Para ver os detalhes de um pedido de redimensionamento num 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
    
  • Para ver os detalhes de um pedido de redimensionamento num MIG regional, use o comando beta instance-groups managed resize-requests describe.

    gcloud beta compute instance-groups managed resize-requests describe INSTANCE_GROUP_NAME \
        --resize-request=RESIZE_REQUEST_NAME \
        --region=REGION
    

Substitua o seguinte:

  • INSTANCE_GROUP_NAME: o nome de um MIG.

  • RESIZE_REQUEST_NAME: o nome de um pedido de redimensionamento cujos detalhes quer ver.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

O resultado é semelhante ao seguinte para um MIG zonal:

creationTimestamp: '2024-09-23T02:27:09.575-07:00'
id: '6386622402379156098'
kind: compute#instanceGroupManagerResizeRequest
name: example-request
requestedRunDuration:
  nanos: 0
  seconds: '86400'
resizeBy: 10
selfLink: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request
selfLinkWithId: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098
state: ACCEPTED
status:
  lastAttempt:
    error:
      errors:
      - code: QUOTA_EXCEEDED
        message: Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1.
      - code: ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS
        message: There are currently not enough resources available to fulfill the request. Expected time is indefinite.
        - errorDetails:
          - errorInfo:
            - metadatas:
              - estimatedAvailabilityTime: '9999-12-31T23:59:59.999999999Z'
zone: https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a

REST

  • Para ver os detalhes de um pedido de redimensionamento num MIG zonal, envie um GET pedido através do método instanceGroupManagerResizeRequests.get.

    GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • Para ver os detalhes de um pedido de redimensionamento num MIG regional, envie um GET pedido através do método beta.regionInstanceGroupManagerResizeRequests.get.

    GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde o MIG zonal está localizado.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

  • INSTANCE_GROUP_NAME: o nome de um MIG onde o pedido de redimensionamento está localizado.

  • RESIZE_REQUEST_NAME: o nome de um pedido de redimensionamento existente cujos detalhes quer ver.

O resultado é semelhante ao seguinte:

{
  "kind": "compute#instanceGroupManagerResizeRequest",
  "id": "6386622402379156098",
  "creationTimestamp": "2024-09-23T02:27:09.575-07:00",
  "name": "example-request",
  "zone": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a",
  "resizeBy": 10,
  "requestedRunDuration": {
    "seconds": "86400",
    "nanos": 0
  },
  "state": "SUCCEEDED",
  "status": {
    "lastAttempt": {
      "error": {
        "errors": [
          {
            "code": "QUOTA_EXCEEDED",
            "message": "Quota 'NVIDIA_A100_GPUS' exceeded. Limit: 1500 in region us-central1."
          },
          {
            "code": "ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS",
            "message": "There are currently not enough resources available to fulfill the request. Expected time is indefinite.",
            "errorDetails": [
              {
                "errorInfo":{
                  "metadatas":{
                    "estimatedAvailabilityTime": "9999-12-31T23:59:59.999999999Z"
                  }
                }
              }
            ]
          }
        ]
      }
    }
  },
  "selfLink": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/example-request",
  "selfLinkWithId": "https://www.googleapis.com/compute/v1/projects/example-project/zones/us-central1-a/instanceGroupManagers/example-mig/resizeRequests/6386622402379156098"
}

Cancele pedidos de redimensionamento num MIG

Pode cancelar pedidos de redimensionamento num MIG para impedir que o MIG tente criar o número pedido de VMs. Só pode cancelar pedidos de redimensionamento aceites (ACCEPTED). Depois de cancelar um pedido de redimensionamento, pode eliminá-lo ou permitir que o Compute Engine o elimine automaticamente após 14 dias.

Para cancelar vários pedidos de redimensionamento em simultâneo, use a Google Cloud consola ou a CLI do Google Cloud. Caso contrário, para cancelar um único pedido de redimensionamento, selecione qualquer uma das seguintes opções:

Consola

  1. Na Google Cloud consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

  2. Na coluna Nome, clique no nome do MIG que contém pedidos de redimensionamento.

    É aberta a página de vista geral do MIG.

  3. Na linha Pedidos de redimensionamento, clique em Editar pedidos de redimensionamento.

    É apresentado o painel Pedidos de redimensionamento.

  4. Selecione os pedidos de redimensionamento que quer cancelar.

  5. Clique em Cancelar e, de seguida, clique em Confirmar.

gcloud

  • Para cancelar pedidos de redimensionamento num 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
    
  • Para cancelar pedidos de redimensionamento num MIG regional, use o comando beta instance-groups managed resize-requests cancel.

    gcloud beta compute instance-groups managed resize-requests cancel INSTANCE_GROUP_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --region=REGION
    

Substitua o seguinte:

  • INSTANCE_GROUP_NAME: o nome de um MIG com pedidos de redimensionamento aceites.

  • RESIZE_REQUEST_NAMES: uma lista de nomes separados por vírgulas de pedidos de redimensionamento aceites no MIG zonal especificado. Por exemplo, especifique request-1,request-2.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

REST

  • Para cancelar um pedido de redimensionamento num MIG zonal, envie um pedido POST através do 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
    
  • Para cancelar um pedido de redimensionamento num MIG regional, envie um pedido POST através do método beta.regionInstanceGroupManagerResizeRequests.cancel.

    POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME/cancel
    

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde se encontra um MIG zonal existente com um pedido de redimensionamento aceite.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

  • INSTANCE_GROUP_NAME: o nome do MIG.

  • RESIZE_REQUEST_NAME: o nome do pedido de redimensionamento a cancelar.

Elimine pedidos de redimensionamento num MIG

Por predefinição, o Compute Engine elimina automaticamente um pedido de redimensionamento 14 dias após definir o estado do pedido como um dos seguintes:

  • Com êxito (SUCCEEDED)

  • Falhou (FAILED)

  • Cancelado (CANCELLED)

No entanto, pode eliminar imediatamente um pedido de redimensionamento antes disso, conforme descrito nesta secção.

A eliminação de um pedido de redimensionamento bem-sucedido não elimina as VMs criadas através do pedido. O MIG elimina automaticamente essas VMs no final da duração de execução pedida. No entanto, se a tarefa tiver terminado de ser executada e já não precisar das VMs, elimine as VMs.

Para eliminar vários pedidos de redimensionamento em simultâneo, use a Google Cloud consola ou a CLI gcloud. Caso contrário, para eliminar um único pedido de redimensionamento, selecione qualquer uma das seguintes opções:

Consola

  1. Na Google Cloud consola, aceda à página Grupos de instâncias.

    Aceda a Grupos de instâncias

  2. Na coluna Nome, clique no nome do MIG que contém pedidos de redimensionamento.

    É aberta a página de vista geral do MIG.

  3. Na linha Pedidos de redimensionamento, clique em Editar pedidos de redimensionamento.

    É apresentado o painel Pedidos de redimensionamento.

  4. Selecione os pedidos de redimensionamento a eliminar.

  5. Clique em Eliminar e, de seguida, clique em Confirmar.

gcloud

  • Para eliminar pedidos de redimensionamento num 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
    
  • Para eliminar pedidos de redimensionamento num MIG regional, use o comando beta instance-groups managed resize-requests delete.

    gcloud beta compute instance-groups managed resize-requests delete INSTANCE_GROUP_NAME \
        --resize-requests=RESIZE_REQUEST_NAMES \
        --region=REGION
    

Substitua o seguinte:

  • INSTANCE_GROUP_NAME: o nome de um MIG com pedidos de redimensionamento bem-sucedidos, com falhas ou cancelados.

  • RESIZE_REQUEST_NAMES: uma lista de nomes separados por vírgulas de pedidos de redimensionamento a eliminar no MIG. Por exemplo, especifique request-1,request-2.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

REST

  • Para eliminar um pedido de redimensionamento num MIG zonal, envie um pedido DELETE através do instanceGroupManagerResizeRequests.delete método.

    DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    
  • Para eliminar uma solicitação de redimensionamento num MIG regional, envie uma solicitação DELETE usando o método beta.regionInstanceGroupManagerResizeRequests.delete.

    DELETE https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/regionInstanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests/RESIZE_REQUEST_NAME
    

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde se encontra um MIG zonal existente com pedidos de redimensionamento bem-sucedidos, com falhas ou cancelados.

  • ZONE: a zona onde o MIG está localizado.

  • REGION: a região onde o MIG está localizado.

  • INSTANCE_GROUP_NAME: o nome do MIG.

  • RESIZE_REQUEST_NAME: o nome do pedido de redimensionamento a eliminar.

O que se segue?