Я хочу получить операционную систему экземпляра виртуальной машины GCP
Я хочу получить операционную систему экземпляра виртуальной машины GCP. В настоящее время я вижу только изображение, из которого был создан экземпляр. Есть ли способ получить это? Я вижу, что есть Управление инвентаризацией ОС, которое требует установки некоторых метаданных на виртуальной машине https://cloud.google.com/compute/docs/instances/view-os-details#api .
- Атрибуты гостя: Ключ:
enable-guest-attributes
Ценить: - Управление инвентаризацией ОС: Ключ:
enable-os-inventory
Ценить:True
Кроме того, есть команда
gcloud compute instances os-inventory describe VM-NAME
чтобы получить конфигурацию ОС, только когда ВМ находится в состоянии РАБОТА . Я хочу получить сведения об ОС через REST API. Есть ли для этого пример?
3 ответа
После некоторых исследований я обнаружил, что есть метод
instances.getGuestAttributes
который предоставляет гостевые записи, если на виртуальной машине установлен агент конфигурации ОС. Чтобы получить сведения об ОС, необходимо установить
queryPath=guestInventory/
и
variableKey=LongName/
. Ссылка на ссылку getGuestAttributes
Вы можете использовать этот API для сбора базовой информации о виртуальных машинах.
Кроме того, как вы упомянули, вы можете включить метаданные и установить агент ОС .
Это позволит вам использовать такую команду:
gcloud compute instances os-inventory describe INSTANCE-NAME | grep kernel
Оба эти метода работают с остановленными виртуальными машинами.
Я заметил, что если мы установим enable-guest-attributes=TRUE для экземпляра, он автоматически установит агент конфигурации ОС на виртуальной машине. следовательно, мы можем использовать два метода для получения информации об ОС.
Использование метода instances.getGuestAttributes https://cloud.google.com/compute/docs/reference/rest/v1/instances/getGuestAttributes
Использование API инвентаризации ОС https://cloud.google.com/compute/docs/osconfig/rest/v1/projects.locations.instances.inventories/get
Кроме того, у меня есть вопрос, используя описанный выше подход. Я не могу получить информацию об ОС для экземпляра, созданного из пользовательских изображений, а не общедоступных изображений.