我在哪里可以找到 aks 集群上的节点 public ip?

Where can i find node public ip on aks made cluster?

Azure 支持要求我在此处提出问题,但我认为这是一个 AKS 错误。

部署群集时,每个节点 'node.status.addresses' 应按设计显示节点的外部 IP 或主机名,但主机名地址中有一个 VM 名称,而不是 AKS 制作的群集中的名称。由于各种原因我们需要它们,这使得很难知道节点 public ips。

是否有任何标准或非标准的方法来获取节点 public ip?

AKS 节点未暴露给 public 互联网,因此不会有暴露的 public IP。

话虽如此,我一直在调查节点丢失或无法获得内部 IP 的问题。我们 (AKS) 已经实施了一个初始修复,它重新启动了 kubelet,并且似乎至少暂时缓解了内部 IP 的缺乏。上游正在努力寻找并修复真正的根本原因。

我认为我没有遇到过节点没有主机名地址的情况。我将记录一个积压项目以调查似乎遇到此症状的任何集群。我不能保证立即修复,但我肯定会在下周初进一步调查。

Azure Kubernetes 服务公开了 public IP,但它不直接指向节点。实际上,Kubernetes 节点不会以 public IP 暴露在互联网上。

AKS 节点在 Azure 上的 VNet 中创建,并使用 public IP 通过 Azure 负载均衡器访问或可以访问。 VNet 是作为 Azure 资源的专用网络。对于 VNet,有两种类型,例如基本和高级。您可以获得更多详细信息,请参阅 Network concepts for applications in Azure Kubernetes Service (AKS)

有一个功能预览,每个节点启用 public IP。请参阅 https://docs.microsoft.com/en-us/azure/aks/use-multiple-node-pools#assign-a-public-ip-per-node-in-a-node-pool