[英]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://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.