Migração manual de VMs em tempo real


Para remover VMs de locatário individual para um nó ou grupo de nós diferente, inicie manualmente uma migração em tempo real. Também é possível iniciar manualmente uma migração em tempo real para mover uma VM de vários locatários para um locatário individual. Para mais informações sobre como remover uma VM da locação individual, consulte Mover uma VM da locação individual.

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:

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. 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.

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Limitações de taxa de API

As solicitações manuais de migração em tempo real são categorizadas no limite de taxa de API de consultas.

Migração manual de VMs em tempo real para dentro ou em locação individual

Para migrar VMs em tempo real manualmente para um locatário individual, use a CLI gcloud ou a REST.

Se o destino da VM for um grupo de nós, o Compute Engine selecionará o nó dentro do grupo que tem espaço suficiente para a VM e a menor quantidade de capacidade extra.

Não é possível fazer a migração em tempo real entre projetos ao usar grupos de nós de locatário individual compartilhados.

Permissões exigidas para a tarefa

Para executar esta tarefa, é preciso ter a permissão a seguir:

  • Permissões compute.instances.update na VM.

gcloud

Para migrar manualmente em tempo real as VMs para uma locação individual ou dentro dela, use o seguinte comando gcloud compute instances update:

gcloud compute instances update VM_NAME \
    ( --node=NODE \
      --node-group=NODE_GROUP \
      --node-affinity-file=NODE_AFFINITY_FILE )

Substitua:

  • VM_NAME: o nome da VM para atualizar os rótulos de afinidade do nó.

Substitua exatamente uma das seguintes opções:

  • NODE: o nome do nó para onde a VM será migrada em tempo real.

  • NODE_GROUP: o nome do grupo de nós para onde migrar a VM.

  • NODE_AFFINITY_FILE: o nome de um arquivo JSON contendo uma configuração de nós em que essa VM pode ser programada. Para mais informações, consulte Configurar rótulos de afinidade de nó.

REST

Para migrar manualmente em tempo real as VMs para uma locação individual ou dentro dela, use o seguinte método instances.update:

PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME

{
  ...
  "scheduling": {
    "nodeAffinities": [
      {
        "key": "NODE_AFFINITY_LABEL_KEY",
        "operator": "IN",
        "values": [
          "[NODE_AFFINITY_LABEL_VALUE]"
        ]
      }
    ]
  }
  ...
}

Substitua:

  • PROJECT_ID: o ID do projeto que tem a VM para atualizar os rótulos de afinidade do nó.

  • ZONE: a zona da VM em que os rótulos de afinidade do nó serão atualizados.

  • VM_NAME: o nome da VM para atualizar os rótulos de afinidade do nó.

  • NODE_AFFINITY_LABEL_KEY: uma das seguintes strings que especifica se a VM será migrada em tempo real para um grupo de nós ou um nó:

    Destino da VM Chave a ser especificada
    Grupo de nós compute.googleapis.com/node-group-name
    compute.googleapis.com/node-name
  • NODE_AFFINITY_LABEL_VALUE: o nome do nó ou grupo para o qual a VM será migrada em tempo real.

A seguir