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 selecionando uma das seguintes opções:

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

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

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

Limites 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