如何获取与 Azure 规模集关联的 vmInstanceID 列表?
How do you get the list of vmInstanceIDs associated with Azure scale sets?
我查看了 azure cli 并尝试了 'azure vmss' 下我能找到的所有内容。我使用了 armclient 并尝试了不同的 REST 请求来确定列表。我在 cli 中看到几个请求要求 vmInstanceID,例如 'azure vmss restart'、'azure vmss update' 等。我希望这将导致规模集后面的 VM 的主机名,或者是否有其他获取主机名的方法。
您可以使用 CLI 获取 VMSS VM 的主机名:
C:>azure vmssvm list -g vmss -n vmss
info: Executing command vmssvm list
data: ResourceGroupName Name ProvisioningState Location
data: ----------------- ------ ----------------- --------
data: VMSS vmss_0 Succeeded eastus
info: vmssvm list command OK
您也可以使用 PowerShell 获取主机名和实例 ID:
PS > Get-AzureRmVmssvm -ResourceGroupName "vmss" -VMScaleSetName "vmss"
ResourceGroupName Name Location Sku Capacity InstanceID ProvisioningState
----------------- ---- -------- --- -------- ---------- -----------------
VMSS vmss_0 eastus Standard_A1 0 Succeeded
VMSS vmss_2 eastus Standard_A1 2 Deleting
instance_id=$(az vmss nic list -g $resource_group --vmss-name $vmss_name --query "[?ipConfigurations[0].privateIpAddress == '$current_ipaddr'].virtualMachine.id" -o tsv | awk -F'/' '{print }')
我查看了 azure cli 并尝试了 'azure vmss' 下我能找到的所有内容。我使用了 armclient 并尝试了不同的 REST 请求来确定列表。我在 cli 中看到几个请求要求 vmInstanceID,例如 'azure vmss restart'、'azure vmss update' 等。我希望这将导致规模集后面的 VM 的主机名,或者是否有其他获取主机名的方法。
您可以使用 CLI 获取 VMSS VM 的主机名:
C:>azure vmssvm list -g vmss -n vmss
info: Executing command vmssvm list
data: ResourceGroupName Name ProvisioningState Location
data: ----------------- ------ ----------------- --------
data: VMSS vmss_0 Succeeded eastus
info: vmssvm list command OK
您也可以使用 PowerShell 获取主机名和实例 ID:
PS > Get-AzureRmVmssvm -ResourceGroupName "vmss" -VMScaleSetName "vmss"
ResourceGroupName Name Location Sku Capacity InstanceID ProvisioningState
----------------- ---- -------- --- -------- ---------- -----------------
VMSS vmss_0 eastus Standard_A1 0 Succeeded
VMSS vmss_2 eastus Standard_A1 2 Deleting
instance_id=$(az vmss nic list -g $resource_group --vmss-name $vmss_name --query "[?ipConfigurations[0].privateIpAddress == '$current_ipaddr'].virtualMachine.id" -o tsv | awk -F'/' '{print }')