Ogni istanza di macchina virtuale (VM) viene eseguita su un server fisico, o host, in un rack posizionato in un cluster in un data center. Puoi utilizzare i seguenti criteri di posizionamento per controllare dove si trovano fisicamente le VM rispetto alle altre all'interno di una zona:
- Criteri di posizionamento dei posizionamenti: Utilizza i criteri di diffusione quando vuoi che le VM siano distribuite l'una dall'altra. Questo può ridurre l'impatto dei malfunzionamenti del sistema host o ottimizzare una migrazione live delle VM.
- Criteri di posizionamento compatti. Utilizza criteri compatti quando vuoi che le VM siano posizionate vicini tra loro per una bassa latenza di rete tra le VM.
Prima di iniziare
- Se vuoi utilizzare gli esempi a riga di comando in questa guida:
- Installa o aggiorna all'ultima versione di Google Cloud CLI.
- Imposta una regione e una zona predefinite.
- Se vuoi utilizzare gli esempi di API in questa guida, configura l'accesso API.
Limitazioni
I criteri di posizionamento sono soggetti alle seguenti restrizioni:
- Diffondi criteri di posizionamento:
- Supporta fino a 8 VM per criterio.
- Supporta solo i tipi di macchine C2, G2, N1, N2 e N2D.
- Non può essere utilizzato con l'API VM Topology.
- Non può essere utilizzato con le prenotazioni delle VM.
- Criteri di posizionamento compatti:
- Supporta fino a 150 VM in ogni criterio.
- Supporta solo i tipi di macchine A2, C2, G2, C2D, N2 e N2D.
- Non supportare la migrazione live.
- Per gli
eventi di manutenzione dell'host,
puoi essere utilizzato solo con le VM configurate in
TERMINATE
. - Può essere utilizzata solo per le prenotazioni di VM per un singolo progetto. Le prenotazioni condivise tra progetti o prenotazioni collegate a sconti per impegno di utilizzo non sono supportate.
- Non può essere utilizzato con nodi single-tenant.
- Non può essere applicato a VM esistenti.
Crea un criterio di posizionamento
Per controllare dove si trovano le tue VM in relazione una rispetto all'altra, utilizza la procedura seguente:
- Crea un criterio di posizionamento distribuito o compatto con la configurazione del posizionamento di cui le tue VM hanno bisogno.
- I criteri di posizionamento distribuiti rigorosamente posizionano le VM nell'infrastruttura del data center sottostante in modo che le VM non condividano lo stesso host o sistema di alimentazione. Questo approccio riduce l'impatto degli host o delle interruzioni di corrente.
- I criteri di posizionamento compatti avvicinano le VM per ridurre la latenza di rete tra le VM.
- Applica il criterio di posizionamento a una o più VM. Le VM che condividono lo stesso criterio vengono posizionate l'una in corrispondenza dell'altra in base alla modalità di definizione del criterio. Puoi applicare il criterio alle VM nuove ed esistenti oppure specificare il criterio in un modello di istanza che puoi utilizzare per creare VM indipendenti, gruppi di istanze gestite (MIG) e prenotazioni di VM.
Crea un criterio di posizionamento distribuito
Per creare un criterio di posizionamento distribuito in cui le VM si trovano su più domini di disponibilità distinti, specifica il numero di domini di disponibilità che questo criterio deve utilizzare per separare le VM l'una dall'altra.
gcloud
Utilizza l'interfaccia a riga di comando gcloud per creare il criterio.
gcloud compute resource-policies create group-placement POLICY_NAME \ --availability-domain-count DOMAIN_COUNT \ --region REGION \ --project PROJECT_ID
Sostituisci quanto segue:
POLICY_NAME
: il nome della nuova normaDOMAIN_COUNT
: il numero di insiemi distinti di hardware host e reti fisiche che questo criterio utilizzerà per separare le VMREGION
: la regione in cui prevedi di creare VM che utilizzano questo criterioPROJECT_ID
: l'ID del tuo progetto
API
Crea un criterio di posizionamento distribuito utilizzando il metodo
resourcePolicies.insert
nella sezione API e servizi di Google Cloud Console.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
Nel corpo della richiesta, fornisci i dettagli della norma di posizionamento:
{ "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progettoREGION
: la regione in cui prevedi di creare VM che utilizzano questo criterioPOLICY_NAME
: il nome della nuova normaDOMAIN_COUNT
: il numero di insiemi distinti di hardware host e reti fisiche che questo criterio utilizzerà per separare le VM
Creazione di un criterio di posizionamento compatto
Per creare un criterio di posizionamento compatto in cui le VM si trovano più vicine tra loro e sulla stessa infrastruttura di rete, specifica un criterio COLLOCATED
.
gcloud
Utilizza l'interfaccia a riga di comando gcloud per creare il criterio.
gcloud compute resource-policies create group-placement POLICY_NAME \ --collocation COLLOCATED \ --region REGION \ --project PROJECT_ID
Sostituisci quanto segue:
POLICY_NAME
: il nome della nuova normaREGION
: la regione in cui prevedi di creare VM che utilizzano questo criterioPROJECT_ID
: l'ID del tuo progetto
API
Crea un criterio di posizionamento compatto utilizzando il metodo resourcePolicies.insert
in API e servizi della console Google Cloud.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
Nel corpo della richiesta, fornisci i dettagli della norma di posizionamento:
{ "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progettoREGION
: la regione in cui prevedi di creare VM che utilizzano questo criterioPOLICY_NAME
: il nome della nuova norma
Applica criteri di posizionamento alle VM
Dopo aver creato un criterio di posizionamento, puoi applicarlo alle VM nuove o esistenti. Il supporto dei criteri di posizionamento dipende dallo scenario.
Scenario | Supporto per un posizionamento compatto | Supporto del posizionamento distribuito |
---|---|---|
Applicare un criterio di posizionamento a una nuova VM | ||
Applicazione di un criterio di posizionamento a una VM esistente | ||
Specifica un criterio di posizionamento in un modello di istanza che puoi utilizzare per creare VM | ||
Specifica un criterio di posizionamento in un modello di istanza che puoi utilizzare per creare o aggiornare un gruppo di istanze gestite | ||
Specifica un criterio di posizionamento in un modello di istanza che puoi utilizzare per creare prenotazioni di VM |
Applica un criterio di posizionamento a una nuova VM
Dopo aver creato un criterio di posizionamento, applicalo a una o più VM. Le VM che condividono lo stesso criterio vengono posizionate l'una rispetto all'altra in base alla modalità di definizione del criterio.
gcloud
Applica un criterio di posizionamento a una VM includendo il flag --resource-policies
quando crei le VM individualmente o collettivamente.
Per i criteri di posizionamento compatti, devi includere i flag --maintenance-policy=TERMINATE
e --no-restart-on-failure
.
Ad esempio, per creare una VM che utilizza un criterio di posizionamento compatto, utilizza il comando seguente:
gcloud compute instances create VM_NAME \ --zone=ZONE \ --resource-policies=POLICY_NAME \ --image-family=IMAGE_FAMILY \ --image-project=IMAGE_PROJECT \ --project=PROJECT_ID \ --maintenance-policy=TERMINATE \ --no-restart-on-failure \ --async
Sostituisci quanto segue:
VM_NAME
: il nome della nuova VM.ZONE
: la zona in cui vuoi creare la nuova VM.Questa zona deve trovarsi nella stessa regione in cui si trova il criterio di posizionamento.
POLICY_NAME
: il nome del criterio di posizionamento che vuoi applicare a questa VM.Puoi applicare più di un criterio di posizionamento a una VM.
IMAGE_FAMILY
: una delle famiglie di immagini disponibili.IMAGE_PROJECT
: il progetto immagine a cui appartiene l'immagine.PROJECT_ID
: il tuo ID progetto.
API
Applica un criterio di posizionamento a una VM includendo il flag --resource-policies
quando crei le VM individualmente o collettivamente.
Ad esempio, per creare una singola VM, utilizza il comando seguente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
Nel corpo della richiesta, specifica il criterio delle risorse. Per i criteri di posizionamento compatti, devi includere gli argomenti "onHostMaintenance": "TERMINATE"
e "automaticRestart": false
:
{ "name": "VM_NAME", "machineType": "machineTypes/MACHINE_TYPE" "networkInterfaces": [{ "accessConfigs": [{ "type": "ONE_TO_ONE_NAT", "name": "External NAT" }], "network": "global/networks/default" }], "scheduling": { "onHostMaintenance": "TERMINATE", "automaticRestart": false }, "disks": [{ "autoDelete": "true", "boot": "true", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } }], "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ] }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.ZONE
: la zona in cui vuoi creare la nuova VM.Questa zona deve trovarsi nella stessa regione in cui si trova il criterio di posizionamento.
VM_NAME
: il nome della nuova VM.MACHINE_TYPE
: il tipo di macchina della VM.IMAGE_PROJECT
: il progetto immagine a cui appartiene l'immagine.IMAGE_FAMILY
: una delle famiglie di immagini disponibili.REGION
: la regione in cui hai creato il criterio di posizionamento.POLICY_NAME
: il nome del criterio di posizionamento che vuoi applicare a questa VM.Puoi applicare più di un criterio di posizionamento a una VM.
Applica un criterio di posizionamento distribuito a una VM esistente
Se crei un criterio di posizionamento distribuito, puoi applicarlo a una o più VM esistenti senza riavviarle.
gcloud
Applica un criterio di posizionamento distribuito a un'istanza esistente utilizzando il comando add-resource-policies
.
gcloud compute instances add-resource-policies VM_NAME \ --zone=ZONE \ --resource-policies=SPREAD_PLACEMENT_POLICY_NAME \ --project=PROJECT_ID
Sostituisci quanto segue:
VM_NAME
: il nome della VM.ZONE
: la zona della VM.Questa zona deve trovarsi nella stessa regione in cui si trova il criterio di posizionamento.
SPREAD_PLACEMENT_POLICY_NAME
: il nome di un criterio di posizionamento distribuito esistente che vuoi applicare a questa VM.PROJECT_ID
: il tuo ID progetto.
API
Applica un criterio di posizionamento distribuito a un'istanza esistente utilizzando il metodo addResourcePolicies
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/addResourcePolicies
Nel corpo della richiesta, specifica le norme sul posizionamento distribuito.
{ "resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/SPREAD_PLACEMENT_POLICY_NAME" ] }
Sostituisci quanto segue:
PROJECT_ID
: il tuo ID progetto.ZONE
: la zona in cui vuoi creare la nuova VM.Questa zona deve trovarsi nella stessa regione in cui si trova il criterio di posizionamento.
VM_NAME
: il nome della nuova VM.REGION
: la regione in cui prevedi di creare istanze di VM che utilizzano questo criterio.SPREAD_PLACEMENT_POLICY_NAME
: il nome di un criterio di posizionamento distribuito esistente che vuoi applicare a questa VM.
Crea un modello di istanza che specifichi un criterio di posizionamento
Puoi specificare un criterio di posizionamento durante la creazione di un modello di istanza. In particolare:
Se specifichi un criterio di posizionamento compatto in un modello di istanza, puoi utilizzare il modello per creare MIG, VM e prenotazioni di VM.
Se specifichi un criterio di posizionamento distribuito in un modello di istanza, puoi utilizzare il modello solo per creare MIG e VM.
gcloud
Per creare un modello di istanza che specifichi un criterio delle risorse, utilizza il comando gcloud compute instance-templates create
con il flag --resource-policies
. Per specificare un criterio di posizionamento compatto, devi specificare anche i flag --maintenance-policy=TERMINATE
e --no-restart-on-failure
.
Ad esempio, per creare un modello di istanza con proprietà VM predefinite e che includa un criterio di posizionamento compatto, utilizza il comando seguente:
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--resource-policies=COMPACT_PLACEMENT_POLICY_NAME \
--maintenance-policy=TERMINATE \
--no-restart-on-failure
Sostituisci quanto segue:
INSTANCE_TEMPLATE_NAME
: il nome dell'istanza.COMPACT_PLACEMENT_POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.
API
Per creare un modello di istanza che specifichi un criterio delle risorse, effettua una richiesta POST
al metodo instanceTemplates.insert
.
Nel corpo della richiesta, specifica i criteri di posizionamento nel campo resourcePolicies
. Per specificare un criterio di posizionamento compatto, devi specificare anche i campi "onHostMaintenance": "TERMINATE"
e "automaticRestart": false
.
Ad esempio, per creare un modello di istanza con proprietà VM predefinite e che includa un criterio di posizionamento compatto, utilizza il comando seguente:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
{
"name": "INSTANCE_TEMPLATE_NAME",
"properties": {
"resourcePolicies": {
"COMPACT_PLACEMENT_POLICY_NAME"
},
"scheduling": {
"onHostMaintenance": "TERMINATE",
"automaticRestart": false
},
...
}
}
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto corrente.INSTANCE_TEMPLATE_NAME
: il nome dell'istanza.COMPACT_PLACEMENT_POLICY_NAME
: il nome di un criterio di posizionamento compatto esistente.
Se vuoi utilizzare il modello per creare una prenotazione MIG, VM o VM, consulta i seguenti documenti:
- Applica un criterio di posizionamento alle VM in un gruppo di istanze gestite.
- Crea una VM da un modello di istanza. Consulta le limitazioni.
- Se il modello di istanza specifica un criterio di posizionamento compatto, puoi utilizzarlo per creare una prenotazione per un singolo progetto.
Applica un criterio di posizionamento alle VM in un gruppo di istanze gestite
Dopo aver creato un criterio di posizionamento, crea un modello di istanza che specifichi il criterio. Quindi crea un gruppo di istanze gestite o aggiorna un gruppo di istanze gestite esistente con il modello di istanza in questione. Il criterio di posizionamento verrà applicato alle VM nel gruppo che utilizzano il modello di istanza.
Se hai un carico di lavoro che richiede comunicazioni approfondite tra le VM, ti consigliamo di creare un criterio di posizionamento compatto e di utilizzare un gruppo di istanze gestite a livello di regione con qualsiasi forma di distribuzione a zona singola. Con la forma a zona singola, ogni volta che un gruppo di istanze gestite a livello di regione non ha VM e deve scalare, il gruppo sceglie la zona ottimale in base a prenotazioni, quote e requisiti hardware.
Applica un criterio di posizionamento a un nuovo gruppo di istanze gestite
Puoi utilizzare l'interfaccia a riga di comando gcloud o l'API Compute Engine.
gcloud
Per creare un gruppo di istanze gestite con VM basate sul modello che hai creato in precedenza, utilizza il comando instance-groups managed create
.
Ad esempio, per creare un gruppo di istanze gestite a livello di regione con la forma di distribuzione a zona singola, utilizza il seguente comando:
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template TEMPLATE_NAME \ --size SIZE \ --region REGION \ --zones ZONES \ --target-distribution-shape=any-single-zone
Sostituisci quanto segue:
INSTANCE_GROUP_NAME
: il nome di questo gruppo di istanzeTEMPLATE_NAME
: il nome dell'istanza da utilizzare per questo gruppoSIZE
: la dimensione del gruppo di istanzeREGION
: la regione per questo gruppo di istanzeZONES
(facoltativo): un elenco di zone nella regione in cui il gruppo di istanze gestite può eseguire il deployment delle istanze VM. Per impostazione predefinita, Compute Engine seleziona tre zone.Se vuoi che il gruppo di istanze gestite sia in grado di utilizzare tutte le zone dell'area geografica, specifica tutte le zone disponibili. Puoi ottenere un elenco delle zone nella regione con il seguente comando:
gcloud compute zones list --filter=region:
REGION
--format='list(NAME)'Non è possibile aggiornare un gruppo di istanze gestite a livello di regione per utilizzare zone diverse dopo la creazione.
API
Per creare un gruppo di istanze gestite con VM basate sul modello che hai creato in precedenza, chiama il metodo instanceGroupManagers.insert
o regionInstanceGroupManagers.insert
e specifica il modello. Ad esempio, per creare un gruppo di istanze gestite a livello di regione con la forma di distribuzione a zona singola, utilizza il seguente metodo:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME", "targetSize": SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1"}, {"zone": "zones/ZONE2"}, {"zone": "zones/ZONE3"}, ], "targetShape": "ANY_SINGLE_ZONE" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa richiestaREGION
: la regione del gruppoINSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestiteTEMPLATE_NAME
: il modello di istanza da utilizzareSIZE
: il numero target di VM per il gruppoZONES
: il nome di una zona nella regione in cui il gruppo di istanze gestite può eseguire il deployment delle istanze VM.- Se vuoi che il gruppo di istanze gestite sia in grado di utilizzare tutte le zone dell'area geografica,
specifica tutte le zone disponibili. Puoi ottenere un elenco delle zone nella regione chiamando il metodo
regions.get
. - Non è possibile aggiornare un gruppo di istanze gestite a livello di regione per utilizzare zone diverse dopo la creazione.
- Se vuoi che il gruppo di istanze gestite sia in grado di utilizzare tutte le zone dell'area geografica,
specifica tutte le zone disponibili. Puoi ottenere un elenco delle zone nella regione chiamando il metodo
Per scoprire di più sulla creazione di gruppi di istanze gestite, consulta Scenari di base per la creazione di gruppi di istanze gestite.
Applica un criterio di posizionamento a un gruppo di istanze gestite esistente
Dopo aver creato un criterio di posizionamento, crea un modello di istanza che specifichi il criterio. Quindi applica il modello a un gruppo di istanze gestite esistente. Puoi utilizzare l'interfaccia a riga di comando gcloud o l'API Compute Engine.
gcloud
Per aggiornare un gruppo di istanze gestite e utilizzare il nuovo modello, nonché per implementare automaticamente il nuovo modello nelle VM esistenti nel gruppo di istanze gestite, puoi usare il comando instance-groups managed rolling-action start-update
, ad esempio:
gcloud compute instance-groups managed rolling-action start-update INSTANCE_GROUP_NAME \ --template TEMPLATE_NAME \ --type=proactive
API
Per aggiornare un gruppo di istanze gestite per utilizzare il nuovo modello, chiama il metodo patch
in un gruppo di istanze gestite a livello di regione o a livello di zona.
Ad esempio, per un gruppo di istanze gestite a livello di regione, la richiesta seguente mostra la configurazione minima necessaria per aggiornare automaticamente il 100% delle istanze al nuovo modello di istanza.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "instanceTemplate": "global/instanceTemplates/TEMPLATE_NAME", "updatePolicy": { "type": "PROACTIVE" } }
Per scoprire altri modi per aggiornare le VM nei gruppi di istanze gestite, consulta Aggiornare e applicare le nuove configurazioni alle VM in un gruppo di istanze gestite.
Visualizza criteri di posizionamento
Puoi visualizzare i criteri di posizionamento applicati a una VM e i dettagli di uno specifico criterio di posizionamento utilizzando l'interfaccia alla gcloud CLI'API Compute Engine.
Visualizza il criterio di posizionamento di una VM
gcloud
Per visualizzare il criterio di posizionamento delle risorse di una VM, utilizza il comando gcloud compute instances
describe
:
gcloud compute instances describe VM_NAME
Sostituisci VM_NAME
con il nome della tua VM.
Se è disponibile un criterio di posizionamento, l'output contiene il campo resourcePolicies
:
resourcePolicies: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGIONS/resourcePolicies/POLICY_NAME
API
Per visualizzare il criterio di posizionamento delle risorse di una VM, utilizza il metodo instances.get
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progettoZONE
: la zona contenente la VMVM_NAME
: il nome della tua VM
Se è disponibile un criterio di posizionamento, il campo resourcePolicies
restituisce i criteri delle risorse della VM.
"resourcePolicies": [ "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/VM_NAME" ],
Visualizzare i dettagli di un criterio di posizionamento
gcloud
Per visualizzare i dettagli di un criterio di posizionamento, utilizza il comando gcloud compute
resource-policies describe
:
gcloud compute resource-policies describe POLICY_NAME
Sostituisci POLICY_NAME
con il nome del criterio di posizionamento.
Se il criterio di posizionamento è disponibile, l'output contiene i dettagli del criterio di posizionamento:
... groupPlacementPolicy: availabilityDomainCount: 2 kind: compute#resourcePolicy name: POLICY_NAME region: https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION ...
API
Per visualizzare i dettagli di un criterio di posizionamento, utilizza il metodo resourcePolicies.get
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progettoREGION
: la regione contenente la VMPOLICY_NAME
: il nome del criterio di posizionamento
Se il criterio di posizionamento è disponibile, il corpo della risposta contiene i dettagli del criterio di posizionamento:
... "region": "https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION", "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": 2 }, "kind": "compute#resourcePolicy" ...
Visualizza topologia di posizionamento VM
Puoi visualizzare le informazioni sulla posizione di una VM in relazione a un'altra. Queste informazioni ti aiutano a creare una topologia per le tue VM, contribuendo a determinare quali VM sono più vicine tra loro e quali VM condividono la minor quantità di hardware.
Puoi confrontare le informazioni sulla topologia del posizionamento delle VM solo per le VM che utilizzano lo stesso criterio di posizionamento.
gcloud
Visualizza le proprietà resource
di una VM creata con un criterio di posizionamento
:
gcloud compute instances describe VM_NAME \ --format="table[box,title=VM-Topology](resourcePolicies.scope():sort=1,resourceStatus.physicalHost:label=location)"
Sostituisci VM_NAME
con il nome dell'istanza VM che utilizza un criterio di posizionamento.
L'output dovrebbe essere simile al seguente:
VM-Topology RESOURCE_POLICIES: us-central1/resourcePolicies/policy_name'] PHYSICAL_HOST: /xxxxxxxx/xxxxxx/xxxxx
Il valore di PHYSICAL_HOST
è composto da tre campi. Questi campi contengono valori sottoposti ad hashing che rappresentano il cluster, il rack di server e la macchina host in cui si trova la VM. Quando confronti questo valore con altre VM, maggiore è il numero di campi con la stessa stringa, più vicini si trovano le VM. Ad esempio, due VM che appartengono allo stesso progetto, cluster ed esecuzione sullo stesso rack hanno lo stesso valore per le prime due parti del campo PHYSICAL_HOST
.
API
Visualizza i dettagli di una VM creata con un criterio di posizionamento compatto.
Invia una richiesta GET
al
metodo instances.get
:
GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto per questa query.ZONE
: la zona dell'istanza su cui vuoi eseguire la query.VM_NAME
: il nome della VM che utilizza un criterio di posizionamento.
Il corpo della risposta contiene uno snippet simile al seguente:
{ ... resourcePolicies: - https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/ZONE/resourcePolicies/POLICY_NAME resourceStatus: physical_host: /xxxxxxxx/xxxxxx/xxxxx ... }
Il valore per physical_host
è composto da tre campi, che contengono valori sottoposti ad hashing che rappresentano il cluster, il rack di server e la macchina host in cui si trova la VM. Quando confronti questo valore con altre VM, più campi hanno la stessa stringa, più vicine si trovano tra loro. Ad esempio, due VM che appartengono allo stesso progetto, cluster ed esecuzione sullo stesso rack hanno lo stesso valore per le prime due parti del campo physicalHost
.
Se la VM non utilizza un criterio di posizionamento compatto, il valore della proprietà viene visualizzato nell'output come:
resourceStatus: {}
Elimina un criterio di posizionamento
Puoi eliminare un criterio di posizionamento che non ti serve.
gcloud
Utilizza l'interfaccia a riga di comando gcloud per eliminare il criterio:
gcloud compute resource-policies delete POLICY_NAME \ --region REGION \ --project PROJECT_ID
Sostituisci quanto segue:
POLICY_NAME
: il nome della nuova norma da rimuovereREGION
: la regione in cui hai creato le istanze VM che utilizzano questo criterioPROJECT_ID
: l'ID del tuo progetto
API
Per creare un criterio di posizionamento distribuito, utilizza il metodo resourcePolicies.insert
negli API e servizi della console Google Cloud:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies
Nel corpo della richiesta, fornisci i dettagli della norma di posizionamento:
{ "name": "POLICY_NAME", "groupPlacementPolicy": { "availabilityDomainCount": DOMAIN_COUNT } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del tuo progettoREGION
: la regione in cui prevedi di creare istanze di VM che utilizzano questo criterioPOLICY_NAME
: il nome della nuova normaDOMAIN_COUNT
: il numero di insiemi separati di hardware host e reti fisiche che questo criterio utilizzerà per separare le istanze
Quali sono i passaggi successivi?
- Controlla lo stato dell'istanza per sapere quando è pronto per l'uso.
- Connettiti alla tua istanza.
- Leggi suggerimenti per la progettazione di un sistema robusto in grado di gestire le interruzioni dei servizi.