Назад | Перейти на главную страницу

Имя образа загрузочного диска экземпляра 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 - большое спасибо, BTW - использует Awk)

Вы можете перечислить диски с [gcloud compute disks list][1].

Имя диска обычно совпадает с именем экземпляра.

Имя, которое вы указали (debian-10-buster-v20200618) больше похоже на образ имя диска. Ты можешь использовать gcloud compute images list так же, как disks list.

Если вы хотите, чтобы отображался и отсортировывался только первый столбец по nanme, вы можете сделать 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, чтобы «привести в порядок» результаты и получить только имя изображения (для сценариев и т. Д.).