Nesta página, descrevemos como atualizar a locação de uma VM modificando os rótulos de afinidade de nó da VM.
Por padrão, o Compute Engine implanta VMs em hosts de vários locatários. Em hosts multilocatários, as VMs normalmente compartilham recursos de host com VMs de outros projetos e clientes. Quando você move uma VM para um nó de locatário individual, o projeto passa a ter acesso exclusivo e controle total do hardware do nó de locatário individual. Você é o único locatário nesse nó. Portanto, suas cargas de trabalho ficam isoladas das cargas de trabalho de outros projetos e VMs.
Ao modificar rótulos de afinidade de nó, é possível mover uma VM das seguintes maneiras:
- De um host multilocatário para um nó ou grupo de nós de locatário individual
- De um nó ou grupo de nós de locatário individual para um host multilocatário
- De um nó de locatário individual para outro nó ou grupo de nós de locatário individual
- De um grupo de nós de locatário individual para outro grupo ou nó de locatário individual
Como mover cargas de trabalho temporariamente para locação única
Devido a flutuações nos requisitos das cargas de trabalho, como necessidades periódicas de isolamento extra para examinar o desempenho ou mudanças nos regulamentos de conformidade, talvez seja necessário mover temporariamente cargas de trabalho específicas para nós de locatário individual. Depois, quando você não precisar mais de uma locação individual, reimplante suas VMs em um host de vários locatários. Quando você modifica a locação de uma VM, o Compute Engine preserva as configurações da VM.
Como reequilibrar as cargas de trabalho de locatário individual
Além de mover VMs entre nós e grupos de nós de locatário individual, é possível mover VMs entre nós e grupos de nós, o que pode ajudar você a consolidar os nós e reequilibrar as cargas de trabalho. Mover uma VM requer uma reinicialização. Portanto, planeje mover as VMs com base nos requisitos de disponibilidade das suas cargas de trabalho.
Limitações
- Quando você move uma VM que já está em execução em um nó de locatário individual, a VM
pode ser reiniciada em outro nó. Se a locação única de uma VM for especificada pelo nome do grupo
de nós ou com o rótulo de afinidade padrão
node-group-name
, a VM poderá ser reiniciada em qualquer nó do grupo de nós. Se a locação única da VM for especificada usando rótulos de afinidade personalizados (de afinidade ou antiafinidade), a VM poderá ser reiniciada em qualquer nó de qualquer grupo de nós da zona.
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.
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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.
-
Como mover uma VM para locação única
Atualize a locação movendo a VM para um nó ou grupo de nós de locatário individual específico a partir de outro nó ou grupo de nós ou de um host multilocatário.
gcloud
Pare a VM.
gcloud compute instances stop VM_NAME
Substitua
VM_NAME
pelo nome da VM a ser interrompida.Atualize a locação especificando o grupo de nós para onde a VM será movida.
gcloud compute instances set-scheduling VM_NAME \ --node-group=NODE_GROUP_NAME
Substitua o seguinte:
VM_NAME
: nome da VM a ser movida para um grupo de nós específicoNODE_GROUP_NAME
: nome do grupo de nós para onde a VM será movida
Como alternativa, é possível mover uma VM para um nó de locatário individual usando o nome do nó ou um rótulo de afinidade. Para mais informações, consulte o comando
gcloud compute instances set-scheduling
.Inicie a VM.
gcloud compute instances start VM_NAME
Substitua
VM_NAME
pelo nome da VM para iniciar no grupo de nós especificado anteriormente pelo conteúdo de um arquivo de rótulo de afinidade.
REST
Pare a VM. Para mais informações sobre esse comando, consulte instances.stop.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Substitua o seguinte:
PROJECT_ID
: ID do projeto que contém a VM a ser interrompidaZONE
: zona que contém o projetoVM_NAME
: nome da VM a ser interrompida
Atualize a locação especificando o grupo de nós para onde a VM será movida.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [ { "key": "compute.googleapis.com/node-group-name", "operator": "IN", "values": [ "NODE_GROUP_NAME" ] } ] }
Substitua o seguinte:
PROJECT_ID
: ID do projeto que contém a VM a ser movidaZONE
: zona que contém o projetoVM_NAME
: nome da VM a ser movida para um grupo de nós específicoNODE_GROUP_NAME
: nome do grupo de nós para onde a VM será movida
Como alternativa, é possível mover uma VM para um nó de locatário individual usando o nome do nó ou um rótulo de afinidade. Para mais informações, consulte o método
instances.setScheduling
.Inicie a VM. Para mais informações sobre esse comando, consulte
instances.start
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Substitua o seguinte:
PROJECT_ID
: ID do projeto que contém a VM a ser iniciadaZONE
: zona que contém o projetoVM_NAME
: nome da VM a ser iniciada
Como remover uma VM da locação individual
Se sua VM não exigir mais hardware dedicado (por exemplo, após um evento que exigia que sua VM fosse isolada de outras), mova a VM de um nó de locatário individual para um host de vários locatários.
gcloud
Pare a VM.
gcloud compute instances stop VM_NAME
Substitua
VM_NAME
pelo nome da VM a ser interrompida.Limpe as afinidades de nó da VM a fim de movê-la para um host multilocatário.
gcloud compute instances set-scheduling VM_NAME --clear-node-affinities
Substitua
VM_NAME
pelo nome da VM para a qual remover afinidades de nó.Inicie a VM em um host de vários locatários.
gcloud compute instances start VM_NAME
Substitua
VM_NAME
pelo nome da VM da qual você limpou anteriormente as afinidades do nó.
REST
Pare a VM. Para mais informações sobre esse comando, consulte
instances.stop
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Substitua o seguinte:
PROJECT_ID
: ID do projeto que contém a VM a ser interrompidaZONE
: zona que contém o projetoVM_NAME
: nome da VM a ser interrompida
Limpe as afinidades de nó da VM a fim de movê-la para um host de vários locatários.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [] }
Substitua o seguinte:
PROJECT_ID
: ID do projeto que contém a VM a ser movidaZONE
: zona que contém o projetoVM_NAME
: nome da VM onde as afinidades de nó serão limpas
Inicie a VM em um host de vários locatários. Para mais informações sobre esse comando, consulte instances.start.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Substitua o seguinte:
PROJECT_ID
: ID do projeto que contém a VM a ser iniciadaZONE
: zona que contém o projetoVM_NAME
: nome da VM a ser iniciada
A seguir
Antes de migrar as VMs para os nós de locatário individual, saiba mais sobre os preços deles.
Saiba como trazer imagens com licenças existentes para o Google Cloud.
Saiba como escalonar automaticamente grupos de nós de locatário individual.