本文档介绍了如何查看在预留容量块上运行的 A4X Max、A4X、A4、A3 Ultra、A3 Mega 和 A3 High(8 个 GPU)Compute Engine 实例的物理位置。
创建 A4X Max、A4X、A4、A3 Ultra、A3 Mega 和 A3 High(8 个 GPU)实例后,您可以查看它们的排列方式,以验证哪些实例彼此最靠近。了解实例邻近性后,您可以执行以下操作:
调整应用或工作负载设计,以进一步缩短网络延迟时间。
排查频繁通信的实例的网络延迟或性能问题(如果这些实例意外地相距很远)。
准备工作
- 查看 Cluster Director 功能中使用的术语。
-
选择标签页以了解您打算如何使用本页面上的示例:
控制台
当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。
gcloud
在 Google Cloud 控制台中,激活 Cloud Shell。
Cloud Shell 会话随即会在 Google Cloud 控制台的底部启动,并显示命令行提示符。Cloud Shell 是一个已安装 Google Cloud CLI 且已为当前项目设置值的 Shell 环境。该会话可能需要几秒钟时间来完成初始化。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭证。
安装 Google Cloud CLI。
如果您使用的是外部身份提供方 (IdP),则必须先使用联合身份登录 gcloud CLI。
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
所需的角色
如需获得查看计算实例拓扑所需的权限,请让您的管理员为您授予项目的 Compute Instance Admin (v1) (roles/compute.instanceAdmin.v1) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
此预定义角色包含查看计算实例拓扑所需的权限。如需查看所需的确切权限,请展开所需权限部分:
所需权限
如需查看计算实例拓扑,您需要具备以下权限:
-
查看实例的详细信息:针对项目的
compute.instances.get权限 -
查看实例列表:针对项目的
compute.instances.list权限
了解计算实例拓扑
查看正在运行的计算实例的详细信息时,您可以通过检查物理主机字段(对于 Google Cloud 控制台)或 physicalHostTopology 字段(对于 gcloud CLI、Compute Engine API 或通过查询元数据键)来了解其在集群中的物理位置。这些字段包含以下子字段:
cluster:集群的全局名称。block:实例所在预留块的组织专用 ID。sub-block:实例所在子块的组织专用 ID。host:实例运行所在主机的组织专用 ID。
如需了解实例邻近度,请比较实例之间的 Physical host 或 physicalHostTopology 字段的值。实例共享的子字段越多,它们在地理位置上就越接近。
您还可以查看创建计算实例的预留的拓扑。预留和实例的 physicalHostTopology 字段显示相同的 block 和 cluster 字段。例如,当您查看某个特定的预留块时,可以查看部署在该块中的所有实例的名称和子块。如需详细了解预留的拓扑,请参阅查看预留的拓扑。
查看计算实例拓扑
如需同时查看多个正在运行的计算实例的物理位置,请使用 REST API。否则,请选择以下任一选项:
控制台
在 Google Cloud 控制台中,前往虚拟机实例页面。
在名称列中,点击要查看其详细信息的实例的名称。系统会显示一个包含实例详情的页面,并且详细信息标签页处于选中状态。
在基本信息部分中,检查物理主机字段的值。
gcloud
如需查看正在运行的计算实例的物理位置,请使用带有 --flatten=resourceStatus.physicalHostTopology 标志的 gcloud compute instances describe 命令:
gcloud compute instances describe INSTANCE_NAME \
--flatten=resourceStatus.physicalHostTopology \
--zone=ZONE
替换以下内容:
INSTANCE_NAME:实例名称。ZONE:实例所在的可用区。
输出类似于以下内容:
---
cluster: europe-west1-cluster-jfhb
block: 3e3056e23cf91a5cb4a8621b6a52c100
subBlock: 0fc09525cbd5abd734342893ca1c083f
host: 1215168a4ecdfb434fd4d28056589059
REST
如需查看正在运行的计算实例的物理位置,请发出以下 GET 请求之一。发出请求时,您必须添加 fields 查询参数,并指定仅显示实例的 name、machineType 和 physicalHostTopology 字段。您还必须添加 filter 查询参数,并指定仅列出正在运行的实例。
如需查看所有可用区中的实例列表,请使用
instances.aggregatedList方法GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/aggregated/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING如需查看特定可用区中的实例列表,请使用
instances.list方法GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances?fields=items.name,items.machineType,items.resourceStatus.physicalHostTopology&filter=status=RUNNING
替换以下内容:
PROJECT_ID:实例所在项目的 ID。ZONE:实例所在的可用区。
输出类似于以下内容:
{
"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"
}
}
},
...
]
}
如果您想优化实例列表,请修改 filter 查询参数中的过滤表达式。
通过查询元数据键查看计算实例拓扑
如需通过查询 physical_host_topology 元数据键来查看正在运行的计算实例的物理位置,请选择以下选项之一:
Linux 实例
连接到 Linux 计算实例。
在 Linux 实例中,使用
curl工具创建查询。如需查询 Linux 实例上的physical_host_topology元数据键,请运行以下命令:user@myinst:~$ curl -s -H "Metadata-Flavor: Google" http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology输出类似于以下内容:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
Windows 实例
连接到您的 Windows 计算实例。
在 Windows 实例中,使用
Invoke-RestMethod命令创建查询。 如需查询 Windows 实例上的physical_host_topology元数据键,请运行以下命令:PS C:\> $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/physical_host_topology") $value输出类似于以下内容:
{ "cluster": "europe-west1-cluster-jfhb", "block": "3e3056e23cf91a5cb4a8621b6a52c100", "subBlock": "1fc18636cbd4abd623553784ca2c174e", "host": "2326279b5ecdfc545fd5e39167698168" }
后续步骤
了解如何管理主机事件: