Visualizar, cancelar ou excluir solicitações de redimensionamento em um MIG


Este documento descreve como fazer o seguinte após criar uma solicitação de redimensionamento em um grupo gerenciado de instâncias (MIG):

Depois de criar solicitações de redimensionamento em um MIG, você poderá executar um ou mais dos seguintes procedimentos:

  • Visualize solicitações de redimensionamento para monitorar seus estados ou solucioná-los.

  • Cancele as solicitações de redimensionamento para impedir que o MIG crie o número solicitado de instâncias de máquina virtual (VM).

  • Exclua solicitações de redimensionamento quando não precisar mais delas.

Antes de começar

  • Se ainda não o fez, veja como funcionam as solicitações de redimensionamento .
  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Funções obrigatórias

Para obter 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ê a função do IAM Compute Instance Admin (v1) ( roles/compute.instanceAdmin.v1 ) no projeto. Para obter mais informações sobre a concessão de funções, consulte Gerenciar acesso a projetos, pastas e organizações .

Essa função predefinida contém as permissões necessárias para visualizar, cancelar ou excluir solicitações de redimensionamento em um MIG. Para ver 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 visualizar uma lista de solicitações de redimensionamento em um MIG: compute.instanceGroupManagers.list
  • Para visualizar os detalhes de uma solicitação de redimensionamento: compute.instanceGroupManagers.get

Você também poderá obter essas permissões com funções personalizadas ou outras funções predefinidas .

Veja suas solicitações de redimensionamento

Para visualizar informações sobre as solicitações de redimensionamento em um MIG, use um dos seguintes métodos:

Veja uma lista de solicitações de redimensionamento em um MIG

Para visualizar uma lista de todas as solicitações de redimensionamento em um MIG, selecione uma das seguintes opções:

Para visualizar uma lista de todas as solicitações de redimensionamento em um MIG regional, use a CLI gcloud ou a API REST. Caso contrário, para visualizar uma lista de todas as solicitações de redimensionamento em um MIG zonal, selecione qualquer uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página Grupos de instâncias .

    Vá para grupos de instâncias

  2. Na coluna Nome , clique no nome do MIG que contém solicitações de redimensionamento.

    A página de visão geral do MIG é aberta.

  3. Na linha Solicitações de redimensionamento , clique em Editar solicitações de redimensionamento .

    O painel Solicitações de redimensionamento é exibido. Se a coluna Detalhes de uma solicitação de redimensionamento mostrar Cota excedida ou ETA: valor indefinido , sua solicitação encontrou um erro. Você pode clicar nesses valores para saber mais.

    Para obter mais informações sobre solução de problemas de erros, consulte Visualizar os detalhes de uma solicitação de redimensionamento neste documento.

gcloud

Substitua o seguinte:

  • INSTANCE_GROUP_NAME : o nome de um MIG com solicitações de redimensionamento aceitas, bem-sucedidas, canceladas ou com falha.

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

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

A saída é semelhante à 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

DESCANSAR

  • Para visualizar uma lista de solicitações de redimensionamento em um MIG zonal, envie uma solicitação 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 visualizar uma lista de solicitações de redimensionamento em um MIG regional, envie uma solicitação 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 está localizado um MIG com solicitações de redimensionamento aceitas, bem-sucedidas, canceladas ou com falha.

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

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

  • INSTANCE_GROUP_NAME : o nome de um MIG existente com solicitações de redimensionamento aceitas, bem-sucedidas, canceladas ou com falha.

A saída de um MIG zonal é semelhante a esta:

{
  "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"
}

Ver os detalhes de uma solicitação de redimensionamento

Você pode visualizar os detalhes de uma solicitação de redimensionamento para revisar sua configuração e, opcionalmente, solucionar problemas se a solicitação ainda não tiver sido bem-sucedida.

Se uma solicitação de redimensionamento aceita não for bem-sucedida, você poderá solucionar o problema verificando o campo status.lastAttempt.error.errors.code nos detalhes da solicitação. Os possíveis códigos de erro são os seguintes:

  • QUOTA_EXCEEDED : seu projeto não possui cota para os recursos solicitados. Para aumentar a cota do seu projeto, consulte Solicitar uma cota maior .

  • ZONE_RESOURCE_POOL_EXHAUSTED_WITH_DETAILS : os recursos solicitados estão temporariamente indisponíveis. O Compute Engine programou a criação dos recursos solicitados e planeja criá-los quando estiverem disponíveis. Se o campo message contiver Expected time is indefinite , o Google recomenda cancelar a solicitação e tentar um ou mais dos seguintes procedimentos:

    • Crie uma nova solicitação de redimensionamento com um número menor de VMs solicitadas.

    • Use um tipo de máquina diferente no MIG e crie uma nova solicitação de redimensionamento. Para usar um tipo de máquina diferente, crie um novo modelo de instância e use esse modelo para criar ou atualizar um MIG .

    • Crie uma solicitação de redimensionamento em um MIG localizado em uma região ou zona diferente.

Para visualizar os detalhes de uma solicitação de redimensionamento, selecione uma das seguintes opções:

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
    
  • Para visualizar os detalhes de uma solicitação de redimensionamento em um 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 uma solicitação de redimensionamento cujos detalhes você deseja visualizar.

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

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

A saída é semelhante à 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

DESCANSAR

  • Para visualizar os detalhes de uma solicitação de redimensionamento em um MIG zonal, envie uma solicitação GET usando 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
    
  • Para visualizar os detalhes de uma solicitação de redimensionamento em um MIG regional, envie uma solicitação GET usando o 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 : região onde o MIG está localizado.

  • INSTANCE_GROUP_NAME : o nome de um MIG onde a solicitação de redimensionamento está localizada.

  • RESIZE_REQUEST_NAME : o nome de uma solicitação de redimensionamento existente cujos detalhes você deseja visualizar.

A saída é semelhante à 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"
}

Cancelar solicitações de redimensionamento em um MIG

Você pode cancelar solicitações de redimensionamento em um MIG para impedir que o MIG tente criar o número solicitado de VMs. Você pode cancelar apenas solicitações de redimensionamento aceitas ( ACCEPTED ). Depois de cancelar uma solicitação de redimensionamento, você pode excluí-la ou permitir que o Compute Engine a exclua automaticamente após 14 dias.

Para cancelar várias solicitações de redimensionamento simultaneamente, use o console do Google Cloud ou a CLI do Google Cloud. Caso contrário, para cancelar uma única solicitação de redimensionamento, selecione qualquer uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página Grupos de instâncias .

    Vá para grupos de instâncias

  2. Na coluna Nome , clique no nome do MIG que contém solicitações de redimensionamento.

    A página de visão geral do MIG é aberta.

  3. Na linha Solicitações de redimensionamento , clique em Editar solicitações de redimensionamento .

    O painel Solicitações de redimensionamento é exibido.

  4. Selecione as solicitações de redimensionamento para cancelar.

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

gcloud

Substitua o seguinte:

  • INSTANCE_GROUP_NAME : o nome de um MIG 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, especifique request-1,request-2 .

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

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

DESCANSAR

  • Para cancelar uma solicitação de redimensionamento em um MIG zonal, envie uma solicitação POST usando 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
    
  • Para cancelar uma solicitação de redimensionamento em um MIG regional, envie uma solicitação POST usando o 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 está localizado um MIG zonal existente com uma solicitação de redimensionamento aceita.

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

  • REGION : região onde 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 da solicitação como um dos seguintes:

  • Bem sucedido ( SUCCEEDED )

  • Falhou ( FAILED )

  • Cancelado ( CANCELLED )

No entanto, você pode 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 no final da duração de execução solicitada. No entanto, se a execução do seu trabalho tiver sido concluída e você não precisar mais das VMs, exclua-as .

Para excluir várias solicitações de redimensionamento simultaneamente, use o console do Google Cloud ou a CLI gcloud. Caso contrário, para excluir uma única solicitação de redimensionamento, selecione qualquer uma das seguintes opções:

Console

  1. No console do Google Cloud, acesse a página Grupos de instâncias .

    Vá para grupos de instâncias

  2. Na coluna Nome , clique no nome do MIG que contém solicitações de redimensionamento.

    A página de visão geral do MIG é aberta.

  3. Na linha Solicitações de redimensionamento , clique em Editar solicitações de redimensionamento .

    O painel Solicitações de redimensionamento é exibido.

  4. Selecione as solicitações de redimensionamento a serem excluídas.

  5. Clique em Excluir e clique em Confirmar .

gcloud

Substitua o seguinte:

  • INSTANCE_GROUP_NAME : o nome de um MIG 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, especifique request-1,request-2 .

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

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

DESCANSAR

  • Para excluir uma solicitação de redimensionamento em um MIG zonal, envie uma solicitação DELETE usando 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
    
  • Para excluir uma solicitação de redimensionamento em um 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 está localizado um MIG zonal existente com solicitações de redimensionamento bem-sucedidas, com falha ou canceladas.

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

  • REGION : região onde 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.

O que vem a seguir