Questo documento spiega come visualizzare la topologia delle istanze Compute Engine in esecuzione. Dopo aver creato e avviato le istanze di calcolo, puoi visualizzarne la posizione fisica in una zona per comprendere la topologia del cluster. Queste informazioni ti aiutano a:
Organizza i job: puoi modificare la progettazione del workload per, ad esempio, inserire le attività che richiedono molte comunicazioni nelle istanze di computing fisicamente più vicine.
Risoluzione dei problemi: puoi analizzare la latenza o i problemi di prestazioni della rete se istanze di computing specifiche si trovano in posizioni inaspettatamente distanti tra loro.
Per verificare quali istanze di Compute sono in esecuzione nel tuo progetto, visualizza un elenco delle istanze di Compute.
Limitazioni
Puoi visualizzare la topologia solo delle istanze di computing che soddisfano uno o più dei seguenti requisiti:
Le istanze di calcolo utilizzano uno dei seguenti tipi di macchine:
A4X Max
A4X
A4
A3 Ultra
A3 Mega
A3 High con 8 GPU
H4D
Le istanze di Compute specificano una policy di posizionamento compatto.
Le istanze di Compute fanno parte di un gruppo di istanze gestite (MIG) che specifica una policy del workload con un tipo di throughput elevato (
HIGH_THROUGHPUT).
Informazioni sulla 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 zonaGoogle Cloud . Quando visualizzi le istanze di calcolo che soddisfano requisiti specifici, puoi comprenderne la topologia in relazione ad altre istanze di calcolo che soddisfano gli stessi requisiti.
In particolare, puoi comprendere la posizione fisica delle tue istanze di computing
controllando i seguenti campi secondari 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 possono estendersi su più blocchi, che funzionano insieme 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.Sub-block (
subBlock): l'ID specifico dell'organizzazione del sub-block in cui esiste l'istanza di computing. Un sottoblocco è una suddivisione fisica in un blocco, che raggruppa gli host all'interno di un unico contenitore fisico. Le istanze di Compute nello stesso blocco secondario presentano una latenza di rete inferiore rispetto alle istanze di Compute 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 tue istanze di calcolo. Ogni host ha la propria vCPU fisica, memoria, spazio di archiviazione e scheda di interfaccia di rete (NIC). Le istanze di calcolo negli host adiacenti presentano la latenza di rete più bassa possibile.
Più campi secondari condividono due istanze di calcolo in esecuzione, più sono fisicamente vicine tra loro. Queste informazioni ti aiutano a ottimizzare i tuoi 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 a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle 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 documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni
necessarie per verificare la topologia delle istanze di computing,
chiedi all'amministratore di concederti il ruolo IAM
Visualizzatore Compute (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 Compute:
compute.instances.listsul progetto
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Verifica la topologia dell'istanza di computing
Per verificare la topologia delle istanze di computing in esecuzione, utilizza uno dei seguenti metodi:
Verifica la topologia dell'istanza di computing utilizzando la console Google Cloud , gcloud CLI o REST.
Per visualizzare la topologia di più istanze di computing contemporaneamente, 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 Compute di cui vuoi visualizzare i dettagli. Viene visualizzata una pagina con i dettagli dell'istanza e viene selezionata la scheda Dettagli.
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 comando gcloud compute instances describe con il flag --flatten=resourceStatus.physicalHostTopology:
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, esegui una delle seguenti richieste GET. Quando effettui una richiesta, devi includere il
parametro di query fields e specificare di mostrare solo i campi name, machineType
e physicalHostTopology di un'istanza di Compute. Devi anche
includere il parametro di query filter e specificare di elencare solo le istanze di
compute in esecuzione.
Per visualizzare un elenco delle tue istanze in tutte le zone: metodo
instances.aggregatedListGET 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: metodo
instances.listGET 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 Compute, modifica l'espressione di filtro nel parametro di query filter.
Verifica la topologia dell'istanza di computing eseguendo query sulla chiave dei metadati
Per visualizzare la topologia di un'istanza di computing in esecuzione eseguendo una query sulla
chiave di 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 il comandoInvoke-RestMethod: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.