Questa pagina descrive come aggiornare la tenancy di una VM modificando le etichette di affinità dei nodi della VM.
Per impostazione predefinita, Compute Engine esegue il deployment delle VM su host multi-tenant. Sugli host multi-tenant, le VM in genere condividono le risorse host con le VM di altri progetti e clienti. Quando sposti una VM in un nodo single-tenant, il tuo progetto ha accesso esclusivo e controllo completo sull'hardware del nodo single-tenant. Sei l'unico tenant su quel nodo, quindi i tuoi workload sono isolati da quelli di altri progetti e dalle relative VM.
Modificando le etichette di affinità nodo, puoi spostare una VM nei seguenti modi:
- Da un host multi-tenant a un gruppo di nodi o un nodo single-tenant
- Da un gruppo di nodi o un nodo single-tenant a un host multi-tenant
- Da un nodo single-tenant a un altro nodo o gruppo di nodi single-tenant
- Da un gruppo di nodi single-tenant a un altro gruppo di nodi o nodo single-tenant
Spostamento temporaneo dei workload in single-tenancy
A causa delle fluttuazioni dei requisiti dei tuoi workload, ad esempio esigenze periodiche di isolamento aggiuntivo per esaminare le prestazioni o modifiche alle normative di conformità, potresti dover spostare temporaneamente workload specifici in nodi single-tenant. In seguito, quando non hai più bisogno della modalità single-tenancy, esegui nuovamente il deployment delle VM su un host multi-tenant. Quando modifichi la tenancy di una VM, Compute Engine conserva le configurazioni della VM.
Ribilanciamento dei workload single-tenant
Oltre a spostare le VM da e verso nodi e gruppi di nodi single-tenant, puoi spostare le VM tra nodi e gruppi di nodi, il che può aiutarti a consolidare i nodi e a ribilanciare i workload. Lo spostamento di una VM richiede un riavvio, quindi pianifica lo spostamento delle VM in base ai requisiti di disponibilità dei tuoi workload.
Limitazioni
- Quando sposti una VM già in esecuzione su un nodo single-tenant, la VM potrebbe
riavviarsi su un altro nodo. Se la single-tenancy di una VM è specificata dal nome del gruppo di nodi o utilizzando l'etichetta di affinità predefinita
node-group-name, la VM può essere riavviata su qualsiasi nodo del gruppo di nodi. Se la tenancy esclusiva della VM è specificata utilizzando etichette di affinità personalizzate di affinità o anti-affinità, la VM potrebbe riavviarsi su qualsiasi nodo di qualsiasi gruppo di nodi nella zona.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Cloud de Confiance by S3NS . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda in base a come prevedi di utilizzare gli esempi in questa pagina:
gcloud
-
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata. Dopo aver eseguito l'accesso, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud init
-
- Imposta una regione e una zona predefinite.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi accedi a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Cloud de Confiance .
Sposta una VM nella single-tenancy
Aggiorna la tenancy spostando la VM in un nodo o gruppo di nodi single-tenant specifico da un altro nodo o gruppo di nodi o da un host multi-tenant.
gcloud
Arresta la VM.
gcloud compute instances stop VM_NAME
Sostituisci
VM_NAMEcon il nome della VM da arrestare.Aggiorna la tenancy specificando il gruppo di nodi in cui spostare la VM.
gcloud compute instances set-scheduling VM_NAME \ --node-group=NODE_GROUP_NAMESostituisci quanto segue:
VM_NAME: il nome della VM da spostare in un gruppo di nodi specificoNODE_GROUP_NAME: il nome del gruppo di nodi in cui spostare la VM
In alternativa, puoi spostare una VM in un nodo single-tenant utilizzando il nome del nodo o un'etichetta di affinità. Per ulteriori informazioni, consulta il comando
gcloud compute instances set-scheduling.Avvia la VM.
gcloud compute instances start VM_NAME
Sostituisci
VM_NAMEcon il nome della VM da avviare nel gruppo di nodi precedentemente specificato dai contenuti di un file di etichette di affinità.
REST
Arresta la VM. Per ulteriori informazioni su questo comando, consulta instances.stop.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto contenente la VM da arrestareZONE: la zona contenente il progettoVM_NAME: il nome della VM da arrestare
Aggiorna la tenancy specificando il gruppo di nodi in cui spostare la VM.
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" ] } ] }Sostituisci quanto segue:
PROJECT_IDID del progetto contenente la VM da spostareZONE: la zona contenente il progettoVM_NAME: il nome della VM da spostare in un gruppo di nodi specificoNODE_GROUP_NAME: il nome del gruppo di nodi in cui spostare la VM
In alternativa, puoi spostare una VM in un nodo single-tenant utilizzando il nome del nodo o un'etichetta di affinità. Per saperne di più, consulta il metodo
instances.setScheduling.Avvia la VM. Per ulteriori informazioni su questo comando, consulta
instances.start.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Sostituisci quanto segue:
ID
PROJECT_IDdel progetto contenente la VM da avviareZONE: la zona contenente il progettoVM_NAME: il nome della VM da avviare
Rimuovi una VM dalla single-tenancy
Se la tua VM non richiede più hardware dedicato, ad esempio dopo un evento che ha richiesto l'isolamento della VM da altre VM, spostala da un nodo single-tenant a un host multi-tenant.
gcloud
Arresta la VM.
gcloud compute instances stop VM_NAME
Sostituisci
VM_NAMEcon il nome della VM da arrestare.Cancella le affinità dei nodi dalla VM in modo da poterla spostare in un host multi-tenant.
gcloud compute instances set-scheduling VM_NAME --clear-node-affinities
Sostituisci
VM_NAMEcon il nome della VM per la quale vuoi rimuovere le affinità dei nodi.Avvia la VM su un host multi-tenant.
gcloud compute instances start VM_NAME
Sostituisci
VM_NAMEcon il nome della VM per la quale hai cancellato le affinità dei nodi in precedenza.
REST
Arresta la VM. Per ulteriori informazioni su questo comando, consulta
instances.stop.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_IDID del progetto contenente la VM da arrestareZONE: la zona contenente il progettoVM_NAME: il nome della VM da arrestare
Cancella le affinità dei nodi dalla VM per spostarla in un host multi-tenant.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setScheduling { "nodeAffinities": [] }Sostituisci quanto segue:
PROJECT_IDID del progetto contenente la VM da spostareZONE: la zona contenente il progettoVM_NAME: il nome della VM da cui cancellare le affinità dei nodi
Avvia la VM su un host multi-tenant. Per ulteriori informazioni su questo comando, consulta instances.start.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
Sostituisci quanto segue:
ID
PROJECT_IDdel progetto contenente la VM da avviareZONE: la zona contenente il progettoVM_NAME: il nome della VM da avviare