繁体   English   中英

我可以使用 Azure REST ZDB974238714CA8DE3CE38A 获取虚拟机规模集的公共 IP 吗?

[英]Can I get the public IP of a Virtual Machine Scale Set using Azure REST API?

我有一个 AKS 群集,我想获取与群集的代理池关联的虚拟机规模集的公共 IP。 我找到了这个文档页面并尝试了以下 API 调用:

GET https://management.azure.com/subscriptions/{your sub ID}/resourceGroups/{RG name}/providers/Microsoft.Compute/virtualMachineScaleSets/{scale set name}/publicipaddresses?api-version=2017-03-30

但我得到了这个回复: {"value":[]}

默认情况下,AKS 的虚拟机规模集没有公共 IP。 AKS 节点不需要自己的公共 IP 地址进行通信。

但是您可以为每个节点分配一个公共 IP(预览模式)。

这是官方文档的链接:

https://docs.microsoft.com/en-us/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-for-your-node-pools-preview

您可以通过访问https://resources.azure.com/并导航到规模集来验证规模集的publicipaddresses键是否包含任何值。 您的 VMSS 完全有可能没有与 VM 关联的公共 IP。

对于您的问题,您需要注意 VMSS 如何创建的消息:

若要使用 CLI 创建将公共 IP 地址分配给每个虚拟机的规模集,请将 --public-ip-per-vm 参数添加到 vmss create 命令。

只有这样,您才能通过 REST API 获取公共 IP 地址:

GET https://management.azure.com/subscriptions/{your sub ID}/resourceGroups/{RG name}/providers/Microsoft.Compute/virtualMachineScaleSets/{scale set name}/publicipaddresses?api-version=2017-03-30

但是,当您创建 AKS 集群并启用 VMSS 作为代理池时,VMSS 始终位于负载均衡器中,因此它的publicIpAddressConfiguration属性为null并将您的响应设为空。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM