GCE 实例启动盘映像名称

GCE 实例启动盘映像名称

我想知道是否有人可以帮忙。

我有一些正在运行的实例。我想获取实例启动盘的映像名称(例如Debian-10-buster-v20200618)。它显示在 GCP 控制台中,但这两个命令都无法获取它:

gcloud compute instances list
gcloud compute instances list --format=json

GCloud 有没有办法访问这个值?某些东西(JS?)可以直接转到 API 吗?也许访问图像系列会更有用,但这可能需要从图像名称中得出。可能是我遗漏了一些显而易见的东西 :/

任何想法或建议都非常感谢!

里克

解决方案 创建实例

gcloud compute instances create instance-1 --zone=europe-west1-b

确定其所基于的图像

gcloud compute disks describe instance-1 --zone=europe-west1-b --format=json |
jq -r .sourceImage

(我使用 JQ 来过滤响应;W_B——顺便说一句非常感谢——使用 Awk)

答案1

您可以使用 列出磁盘[gcloud compute disks list][1]

磁盘名称通常与实例名称相同。

您提供的名称(debian-10-buster-v20200618)看起来更像是图像磁盘的名称。您可以gcloud compute images list按照与 相同的方式使用disks list

如果您只希望显示第一列并按名称排序,那么您可以这样做gcloud compute disks list --sort-by=NAME | awk '{print $1}'

这只是您可以做的一个例子 - 如果您指定了所需的输出,那么我可以编辑我的答案。

以下是如何使用 AWK处理任何文本输出并使其更适合您的需要。

如果您指定了此命令的期望输出,我将编辑问题并发布确切的命令。

如果排序功能gcloud不够,你可以使用内置的sort命令


要获取创建虚拟机磁盘的源映像名称,请使用gcloud compute disks describe yourinstancename --zone=myzone | grep image

结果看起来与此类似: https://www.googleapis.com/compute/v1/projects/windows-cloud/global/images/windows-server-2012-r2-dc-v20200609

您可以进一步使用 AWK 来“整理”结果并获取图像名称(用于脚本编写等)。

相关内容