Получите частные IP-адреса для виртуальных машин в наборе масштабов с помощью Python SDK (не публикуйте c IP-адреса в наборе масштабов) - PullRequest
0 голосов
/ 06 января 2020

Я пытаюсь получить список частных IP-адресов для всех виртуальных машин в наборе масштабов (ни одна из виртуальных машин сознательно не имеет общедоступных c IP-адресов). Я нашел, как получить это из az cli следующим образом:

az vmss nic list -g ResourceGroup --vmss-name ScaleSetName --query [].{ip:ipConfigurations[0].privateIpAddress} -o tsv

Однако я не могу получить тот же вывод, используя Python SDK. Я использую следующий базовый c код:

from azure.common.credentials import ServicePrincipalCredentials
from azure.mgmt.compute import ComputeManagementClient

credentials = ServicePrincipalCredentials(client_id = CLIENT, secret = KEY, tenant = TENANT)

compute_client = ComputeManagementClient(credentials, SUBSCRIPTION)

vmss = compute_client.virtual_machine_scale_sets.get(RG, SC)
print(vmss.virtual_machine_profile.network_profile.network_interface_configurations[0].ip_configurations[0])

Это правильное место в объектной модели SDK для их поиска? Насколько я понимаю, сетевые свойства должны быть на уровне Scale Set, и это единственное место в API, где я вижу что-то связанное с сетью. Однако в последующих свойствах я вижу только «частную IP-версию», и, поскольку не существует общедоступных c IP-адресов, эта часть свойств пуста.

1 Ответ

1 голос
/ 07 января 2020

К сожалению, я боюсь, что вы не можете получить частный IP-адрес экземпляров набора масштаба виртуальной машины. Сетевые интерфейсы наборов масштабов виртуальных машин не являются ресурсами в Azure, и вы не можете получить их. В настоящее время Azure python SDK не поддерживает получение частных IP-адресов VMSS через python SDK.

Вы можете попробовать использовать REST API для достижения цели и получить REST API с помощью отладки команды CLI следующим образом:

az vmss nic list -g ResourceGroup --vmss-name ScaleSetName --query [].{ip:ipConfigurations[0].privateIpAddress} -o tsv --debug

Он покажет прогресс и REST API:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...