Questo documento spiega come visualizzare la posizione fisica, nota anche come topologia, delle tue istanze Compute Engine in una zona. Per visualizzare la topologia di un cluster in Cluster Director, vedi Visualizza topologia del cluster.
Dopo aver creato istanze A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU) o istanze di calcolo che specificano una policy di posizionamento compatto o una policy di workload, puoi visualizzare la posizione fisica delle istanze di calcolo l'una rispetto all'altra. Quando conosci la vicinanza delle tue istanze di computing, puoi modificare la progettazione dell'applicazione o del carico di lavoro per eseguire i job sensibili alla latenza sulle istanze di computing più vicine tra loro. Per tutti gli altri tipi di istanze di calcolo, puoi visualizzare l'ID dell'host su cui vengono eseguite dopo aver esposto l'ID host.
Prima di iniziare
- Esamina la terminologia per la topologia delle istanze di computing.
-
Seleziona la scheda relativa a come prevedi di 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
Nella console Google Cloud , attiva Cloud Shell.
Nella parte inferiore della console Google Cloud viene avviata una sessione di Cloud Shell e viene visualizzato un prompt della riga di comando. Cloud Shell è un ambiente shell con Google Cloud CLI già installata e con valori già impostati per il progetto corrente. L'inizializzazione della sessione può richiedere alcuni secondi.
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 visualizzare la topologia delle istanze di computing,
chiedi all'amministratore di concederti il ruolo IAM
Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) 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 visualizzare la topologia delle istanze di computing. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per visualizzare la topologia dell'istanza 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.
Informazioni sulla topologia delle istanze di computing
Per comprendere la posizione fisica di un'istanza di computing in un cluster, controlla il campo Host fisico nella console Google Cloud . Se utilizzi gcloud CLI, l'API Compute Engine o una query della chiave dei metadati, controlla il campo physicalHostTopology. Questi campi contengono i seguenti campi secondari:
cluster: il nome globale del cluster.block: l'ID specifico dell'organizzazione del blocco riservato in cui si trova l'istanza.sub-block: l'ID specifico dell'organizzazione del sotto-blocco in cui si trova l'istanza.host: l'ID specifico dell'organizzazione dell'host su cui viene eseguita l'istanza.
Per comprendere la vicinanza delle istanze, confronta i valori dei campi Host fisico o
physicalHostTopology tra le istanze di calcolo. Più campi secondari condividono le istanze di calcolo, più sono vicine tra loro.
Puoi anche visualizzare la topologia di una prenotazione in cui vengono create le istanze di computing. I campi physicalHostTopology di una prenotazione e di un'istanza
mostrano gli stessi campi block e cluster. Ad esempio, quando visualizzi un
blocco riservato specifico, puoi visualizzare il nome e il sottoblocco di tutte le istanze di calcolo
che vengono implementate nel blocco. Per ulteriori informazioni sulla
topologia di una prenotazione, vedi
Visualizzare la topologia di una prenotazione.
Visualizza la topologia dell'istanza di computing
Per visualizzare contemporaneamente la posizione fisica di più istanze di Compute in esecuzione, 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 di Compute e viene selezionata la scheda Dettagli.
Nella sezione Informazioni di base, controlla il valore del campo Host fisico.
gcloud
Per visualizzare la posizione fisica 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:
Se riesci a visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di computing, l'output è simile al seguente:
--- cluster: europe-west1-cluster-jfhb block: 3e3056e23cf91a5cb4a8621b6a52c100 subBlock: 0fc09525cbd5abd734342893ca1c083f host: 1215168a4ecdfb434fd4d28056589059Se puoi visualizzare l'ID dell'host solo dopo averlo esposto, l'output è simile al seguente:
--- cluster: null block: null subBlock: null host: 1215168a4ecdfb434fd4d28056589059
REST
Per visualizzare la posizione fisica delle istanze di computing in esecuzione, invia 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:
Se riesci a visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host delle tue istanze di computing, l'output è simile al seguente:
{ "items": [ { "name": "vm-01", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" } } }, { "name": "vm-02", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" } } }, ... ] }Se riesci a visualizzare solo l'ID delle istanze di computing dell'host dopo averlo esposto, l'output è simile al seguente:
{ "items": [ { "name": "vm-01", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" } } }, { "name": "vm-02", "machineType": "https://www.googleapis.com/compute/v1/projects/example-project/zones/europe-west1-b/machineTypes/a3-ultragpu-8g", "resourceStatus": { "physicalHostTopology": { "cluster": null, "block": null, "subBlock": null, "host": "2326279b5ecdfc545fd5e39167698168" } } }, ... ] }
Se vuoi perfezionare l'elenco delle istanze di calcolo, modifica l'espressione di filtro nel parametro di query filter.
Visualizza la topologia dell'istanza di computing con una query della chiave dei metadati
Per visualizzare la posizione fisica di un'istanza di computing in esecuzione con una query sulla chiave di metadati physical_host_topology, seleziona una delle seguenti opzioni:
Istanze Linux
Connettiti all'istanza di computing Linux.
Dall'istanza Linux, crea una query utilizzando lo strumento
curl. Per eseguire query sulla chiave di metadatiphysical_host_topologynelle istanze Linux, esegui questo comando:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topologyL'output è simile al seguente:
Se puoi visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di Compute, l'output è simile al seguente:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" }Se riesci a visualizzare solo l'ID dell'host dopo averlo esposto, l'output è simile al seguente:
{ "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" }
Istanze Windows
Connettiti all'istanza di calcolo Windows.
Dall'istanza Windows, crea una query con il comando
Invoke-RestMethod. Per eseguire una query sulla chiave dei metadatiphysical_host_topologysulle istanze Windows, esegui questo comando: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:
Se puoi visualizzare l'ID del cluster, del blocco, del sottoblocco e dell'host di un'istanza di Compute, l'output è simile al seguente:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "0fc09525cbd5abd734342893ca1c083f", "host": "1215168a4ecdfb434fd4d28056589059" }Se riesci a visualizzare solo l'ID dell'host dopo averlo esposto, l'output è simile al seguente:
{ "cluster": null, "block": null, "subBlock": null, "host": "1215168a4ecdfb434fd4d28056589059" }
Passaggi successivi
Scopri come gestire gli eventi sull'host: