You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用gcloud列出GCE项目所有磁盘及关联计算实例与元信息

如何列出GCE项目磁盘及关联的计算实例元信息

你可以通过gcloud命令结合jq工具来关联磁盘和计算实例的信息,以下是具体步骤:

方法一:分步导出数据并关联

  1. 导出磁盘详细数据
    执行命令将项目下所有磁盘的JSON信息保存到文件:

    gcloud compute disks list --format=json --project YOUR_PROJECT_ID > disks.json
    
  2. 导出计算实例详细数据
    同样导出所有实例的JSON信息:

    gcloud compute instances list --format=json --project YOUR_PROJECT_ID > instances.json
    
  3. 用jq关联数据并输出
    使用jq将两个文件的数据关联,提取磁盘信息及对应的实例名称、标签:

    jq -n '
      ($instances | map({key: .selfLink, value: {name: .name, labels: .labels}}) | from_entries) as $instanceMap
      | $disks[] | {
          disk_name: .name,
          disk_size: .sizeGb,
          disk_type: .type,
          attached_instances: [
            .users[]? | $instanceMap[.] // {name: "Unattached", labels: {}}
          ]
        }
    ' disks.json instances.json
    

方法二:单命令直接输出

如果不想保存中间文件,可以用一条命令完成:

gcloud compute disks list --format=json --project YOUR_PROJECT_ID | jq --argjson instances "$(gcloud compute instances list --format=json --project YOUR_PROJECT_ID)" '
  ($instances | map({key: .selfLink, value: {name: .name, labels: .labels}}) | from_entries) as $instanceMap
  | .[] | {
      disk_name: .name,
      disk_size: .sizeGb,
      disk_type: .type,
      attached_instances: [
        .users[]? | $instanceMap[.] // {name: "Unattached", labels: {}}
      ]
    }
'

说明

  • 替换命令中的YOUR_PROJECT_ID为你的GCE项目ID
  • 输出结果中,每个磁盘会包含名称、大小、类型,以及关联的实例列表(包含实例名称和标签);未挂载的磁盘会显示Unattached
  • 若需要调整输出字段,可修改jq中的提取逻辑,比如添加磁盘区域、创建时间等

内容的提问来源于stack exchange,提问作者xvzf

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 00:02:26