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. Negli host multi-tenant, le VM in genere condividono le risorse dell'host con le VM di altri progetti e clienti. Quando sposti una VM in un nodo monoproprietario, il tuo progetto ha accesso esclusivo e controllo completo sull'hardware del nodo monoproprietario. Sei l'unico tenant su quel nodo, quindi i tuoi carichi di lavoro sono isolati da quelli di altri progetti e delle relative VM.
Modificando le etichette di affinità dei nodi, puoi spostare una VM nei seguenti modi:
- Da un host multi-tenant a un gruppo di nodi o a un nodo single-tenant
- Da un gruppo di nodi o da 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 a un altro nodo single-tenant
Spostare temporaneamente i carichi di lavoro in modalità single-tenancy
A causa della variabilità dei requisiti dei carichi di lavoro, ad esempio la necessità periodica di un isolamento aggiuntivo per esaminare le prestazioni o le modifiche ai regolamenti di conformità, potrebbe essere necessario spostare temporaneamente carichi di lavoro specifici su nodi single-tenant. Quando non avrai più bisogno del modello single-tenant, 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 carichi di lavoro single-tenant
Oltre a spostare le VM da e verso nodi e gruppi di nodi di proprietà esclusiva, puoi spostarle tra nodi e gruppi di nodi, il che può aiutarti a consolidare i nodi e a riequilibrare i carichi di lavoro. Il trasferimento di una VM richiede un riavvio, quindi pianifica il trasferimento delle VM in base ai requisiti di disponibilità dei tuoi carichi di lavoro.
Limitazioni
- Quando sposti una VM già in esecuzione su un nodo single-tenant, la VM potrebbe riavviarsi su un altro nodo. Se la proprietà esclusiva di una VM è specificata dal nome del gruppo di nodi o utilizzando l'
node-group-name
etichetta di affinità predefinita, la VM può essere riavviata su qualsiasi nodo del gruppo di nodi. Se la proprietà 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 è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
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.
Arresta la VM.
gcloud compute instances stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM da arrestare.Aggiorna la tenancy specificando il gruppo di nodi a cui spostare la VM.
gcloud compute instances set-scheduling VM_NAME \ --node-group=NODE_GROUP_NAME
Sostituisci quanto segue:
VM_NAME
nome della VM da spostare in un gruppo di nodi specificoNODE_GROUP_NAME
nome del gruppo di nodi in cui spostare la VM
In alternativa, puoi spostare una VM in un nodo monoproprietario utilizzando il nome del nodo o un'etichetta di affinità. Per ulteriori informazioni, consulta il
gcloud compute instances set-scheduling
comando.Avvia la VM.
gcloud compute instances start VM_NAME
Sostituisci
VM_NAME
con il nome della VM da avviare nel gruppo di nodi specificato in precedenza dai contenuti di un file di etichette di affinità.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
: ID del progetto contenente la VM da arrestareZona
ZONE
contenente il progettoVM_NAME
nome della VM da arrestare
Aggiorna la tenancy specificando il gruppo di nodi a 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_ID
ID del progetto contenente la VM da spostareZona
ZONE
contenente il progettoVM_NAME
nome della VM da spostare in un gruppo di nodi specificoNODE_GROUP_NAME
nome del gruppo di nodi in cui spostare la VM
In alternativa, puoi spostare una VM in un nodo monoproprietario utilizzando il nome del nodo o un'etichetta di affinità. Per ulteriori informazioni, 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:
PROJECT_ID
ID del progetto contenente la VM da avviareZona
ZONE
contenente il progettoVM_NAME
nome della VM da avviare
Arresta la VM.
gcloud compute instances stop VM_NAME
Sostituisci
VM_NAME
con il nome della VM da arrestare.Cancella le affinità dei nodi dalla VM per poterla spostare in un host multi-tenant.
gcloud compute instances set-scheduling VM_NAME --clear-node-affinities
Sostituisci
VM_NAME
con il nome della VM per la quale rimuovere le affinità dei nodi.Avvia la VM su un host multi-tenant.
gcloud compute instances start VM_NAME
Sostituisci
VM_NAME
con il nome della VM da cui hai cancellato in precedenza le affinità dei nodi.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
ID del progetto contenente la VM da arrestareZona
ZONE
contenente il progettoVM_NAME
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_ID
ID del progetto contenente la VM da spostareZona
ZONE
contenente il progettoVM_NAME
nome della VM da cui eliminare 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:
PROJECT_ID
ID del progetto contenente la VM da avviareZona
ZONE
contenente il progettoVM_NAME
nome della VM da avviare
- Prima di spostare le VM sui nodi single-tenant, leggi le informazioni sui prezzi dei nodi single-tenant.
- Leggi l'articolo Utilizzo del modello Bring Your Own License.
- Leggi le Domande frequenti sulle licenze Microsoft.
- Scopri come importare su Google Cloud le immagini con licenze esistenti.
- Scopri come eseguire il ridimensionamento automatico dei gruppi di nodi sole-tenant.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Spostare una VM in modalità single-tenancy
Aggiorna la proprietà spostando la VM in un nodo o un gruppo di nodi single-tenant specifico da un altro nodo o gruppo di nodi o da un host multi-tenant.
gcloud
REST
Rimuovere una VM dalla modalità single-tenancy
Se la VM non richiede più hardware dedicato, ad esempio dopo un evento che ha richiesto l'isolamento della VM dalle altre VM, spostala da un nodo single-tenant a un host multi-tenant.
gcloud
REST
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-11-23 UTC.
-