Questo documento spiega come visualizzare la topologia delle istanze Compute Engine in esecuzione. Dopo aver creato e avviato le istanze di computing, puoi visualizzarne la posizione fisica in una zona per comprendere la topologia del cluster. Queste informazioni ti aiutano a:
Organizzare i job: puoi modificare la progettazione del carico di lavoro per, ad esempio, inserire le attività che richiedono molte comunicazioni sulle istanze di computing fisicamente più vicine.
Risolvere i problemi: puoi esaminare i problemi di latenza di rete o di prestazioni se istanze di computing specifiche si trovano inaspettatamente molto distanti tra loro.
Per verificare quali istanze di computing sono in esecuzione nel tuo progetto, visualizza un elenco di istanze di computing.
Limitazioni
Puoi visualizzare la topologia solo delle istanze di computing che soddisfano uno o più dei seguenti requisiti:
Le istanze di computing utilizzano uno dei seguenti tipi di macchine:
A4X Max
A4X
A4
A3 Ultra
A3 Mega
A3 High con 8 GPU
H4D
Le istanze di computing specificano una policy di posizionamento compatto.
Le istanze di computing fanno parte di un gruppo di istanze gestite (MIG) che specifica una policy di carico di lavoro con un tipo di throughput elevato (
HIGH_THROUGHPUT).
Comprendere la topologia delle istanze di computing
Ogni istanza di computing viene eseguita su un server fisico, un host, che si trova su un blocco di server. Ogni blocco appartiene a un cluster, che si trova in un data center all'interno di una
Google Cloud zona. Quando visualizzi le istanze di computing che soddisfano
requisiti specifici, puoi comprenderne la topologia in
relazione ad altre istanze di computing che soddisfano gli stessi requisiti.
In particolare, puoi comprendere la posizione fisica delle istanze di computing controllando i seguenti sotto-campi nel campo physicalHostTopology di ogni istanza di computing:
Cluster (
cluster): il nome globale del cluster in cui esiste l'istanza di computing. Un cluster è un raggruppamento logico di alto livello di più host, che può estendersi su più blocchi e che funziona come un unico pool di risorse.Blocco (
block): l'ID specifico dell'organizzazione del blocco in cui esiste l'istanza di computing. Un blocco è una raccolta di più host raggruppati insieme. Le istanze di computing nello stesso blocco presentano una bassa latenza di rete.Sotto-blocco (
subBlock): l'ID specifico dell'organizzazione del sotto-blocco in cui esiste l'istanza di computing. Un sotto-blocco è una suddivisione fisica in un blocco, che raggruppa gli host all'interno di un singolo enclosure fisico. Le istanze di computing nello stesso sotto-blocco presentano una latenza di rete inferiore rispetto alle istanze di computing nello stesso blocco.Host (
host): l'ID specifico dell'organizzazione dell'host in cui esiste l'istanza di computing. Un host è un singolo server fisico su cui vengono eseguite le istanze di computing. Ogni host ha la propria vCPU fisica, memoria, spazio di archiviazione e scheda di interfaccia di rete (NIC). Le istanze di computing negli host adiacenti presentano la latenza di rete più bassa possibile.
Più sotto-campi condividono due istanze di computing in esecuzione, più sono fisicamente vicine tra loro. Queste informazioni ti aiutano a ottimizzare i carichi di lavoro organizzando i job in modo da ridurre al minimo la latenza di rete o progettando sistemi più resilienti.
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 Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa alla modalità di utilizzo degli esempi in questa pagina:
Console
Quando utilizzi la Google Cloud console per accedere a Google Cloud servizi e API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- 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.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella Google Cloud documentazione sull'autenticazione di.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per verificare la topologia delle istanze di computing, chiedi all'amministratore di concederti il ruolo IAM Compute Viewer (roles/compute.viewer) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per verificare la topologia delle istanze di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per verificare la topologia delle istanze di computing sono necessarie le seguenti autorizzazioni:
-
Per visualizzare i dettagli di un'istanza di computing:
compute.instances.getsul progetto -
Per visualizzare un elenco di istanze di computing:
compute.instances.listsul progetto
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Verificare la topologia delle istanze di computing
Per verificare la topologia delle istanze di computing in esecuzione, utilizza uno dei seguenti metodi:
Verificare la topologia delle istanze di computing utilizzando la Google Cloud console, gcloud CLI o REST
Per visualizzare contemporaneamente la topologia di più istanze di computing, utilizza l'API REST. In caso contrario, seleziona una delle seguenti opzioni:
Console
Nella console Google Cloud , vai alla pagina Istanze VM.
Nella colonna Nome, fai clic sul nome dell'istanza di computing di cui vuoi visualizzare i dettagli. Viene visualizzata una pagina con i dettagli dell'istanza e la scheda Dettagli è selezionata.
Nella sezione Informazioni di base, controlla il valore del campo Host fisico.
gcloud
Per visualizzare la topologia di un'istanza di computing in esecuzione, utilizza il
gcloud compute instances describe comando
con il --flatten=resourceStatus.physicalHostTopology flag:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
Sostituisci quanto segue:
INSTANCE_NAME: il nome dell'istanza di computing.ZONE: la zona in cui esiste l'istanza di computing.
L'output è simile al seguente:
---
block: 3e3056e23cf91a5cb4a8621b6a52c100
cluster: europe-west1-cluster-jfhb
host: 1215168a4ecdfb434fd4d28056589059
subBlock: 0fc09525cbd5abd734342893ca1c083f
REST
Per visualizzare la topologia delle istanze di computing in esecuzione, invia una delle seguenti richieste GET. Quando invii una richiesta, devi includere il parametro di query fields e specificare di mostrare solo i campi name, machineType e physicalHostTopology di un'istanza di computing. Devi anche includere il parametro di query filter e specificare di elencare solo le istanze di computing in esecuzione.
Per visualizzare un elenco delle tue istanze in tutte le zone:
instances.aggregatedListmetodoGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNINGPer visualizzare un elenco delle tue istanze in una zona specifica:
instances.listmetodoGET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
Sostituisci quanto segue:
PROJECT_ID: l'ID del progetto in cui esistono le istanze di computing.ZONE: la zona in cui esistono le istanze di computing.
L'output è simile al seguente. Nell'esempio seguente, le istanze di computing vm-01 e vm-02 si trovano nello stesso blocco.
{
"items": [
{
"name": "vm-01",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"cluster": "europe-west1-cluster-jfhb",
"host": "1215168a4ecdfb434fd4d28056589059",
"subBlock": "0fc09525cbd5abd734342893ca1c083f"
}
}
},
{
"name": "vm-02",
"machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g",
"resourceStatus": {
"physicalHostTopology": {
"block": "3e3056e23cf91a5cb4a8621b6a52c100",
"cluster": "europe-west1-cluster-jfhb",
"host": "2326279b5ecdfc545fd5e39167698168",
"subBlock": "1fc18636cbd4abd623553784ca2c174e"
}
}
},
...
]
}
Se vuoi perfezionare l'elenco delle istanze di computing, modifica l'espressione di filtro
nel
filter parametro di query.
Verificare la topologia delle istanze di computing eseguendo una query sulla chiave dei metadati
Per visualizzare la topologia di un'istanza di computing in esecuzione eseguendo una query sulla chiave dei metadati physical_host_topology, seleziona una delle seguenti opzioni:
Istanze Linux
Connettiti all'istanza Linux.
Esegui una query sulla chiave dei metadati
physical_host_topologyutilizzandocurl:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyL'output è simile al seguente:
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }
Istanze Windows
Connettiti all'istanza Windows.
Esegui una query sulla chiave dei metadati
physical_host_topologyutilizzando ilInvoke-RestMethodcomando:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $valueL'output è simile al seguente:
{ "block": "3e3056e23cf91a5cb4a8621b6a52c100", "cluster": "europe-west1-cluster-jfhb", "host": "2326279b5ecdfc545fd5e39167698168", "subBlock": "1fc18636cbd4abd623553784ca2c174e" }
Passaggi successivi
Scopri di più sugli eventi dell'host in un'istanza di computing.
Scopri come monitorare le istanze di computing.