我有一个AKS集群,我想获得与集群的代理池关联的虚拟机规模集的公共IP。我找到了这个documentation page,并尝试了以下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":[]}
答案 0 :(得分:2)
默认情况下,AKS的虚拟机规模集没有公共IP。 AKS节点不需要自己的公共IP地址即可进行通信。
但是您可以为每个节点分配一个公共IP(预览模式)。
这是官方文档的链接:
答案 1 :(得分:2)
您可以通过访问https://resources.azure.com/并导航至比例尺集来验证比例尺集的publicipaddresses
键是否包含任何值。您的VMSS很有可能没有与这些VM关联的公共IP。
答案 2 :(得分:1)
对于您的问题,您需要注意VMSS如何创建的消息:
创建一个比例尺集,该比例尺集为每个虚拟机分配一个公共IP地址 CLI的计算机上,将--public-ip-per-vm参数添加到vmss 创建命令。
只有通过这种方式,您才能通过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
,并且您的响应为空。 / p>