AKS 负载均衡器 IP 地址无法访问

1 azure-aks

我为 AKS 中的服务创建了一个负载均衡器,并且该负载均衡器被批准可以从 AKS 网络子网组进行访问。负载均衡器具有与内部服务对应的外部IP地址。但我无法访问负载均衡器提供的 IP 地址。

Sri*_*SFT 5

kubectl get service -n <namespace>请在 AKS 群集上执行:

如果您看到类似以下内容,其中外部 IP 是公共 IP 地址:

NAME         TYPE           CLUSTER-IP    EXTERNAL-IP       PORT(S)        AGE
my-service   LoadBalancer   10.0.192.89   20.69.145.115     80:31541/TCP   6s
Run Code Online (Sandbox Code Playgroud)

然后,从 AKS 公共负载均衡器的前端 IP 地址为服务分配一个公共 IP 地址。请确保与 AKS 群集子网或节点虚拟机的网络接口关联的所有网络安全组有效允许 入站流量来自 Internet 或您尝试连接的公共 IP 地址(范围)的入站另请确保没有防火墙、网络虚拟设备等阻止 AKS 群集子网和节点虚拟机的入站流量。

如果您看到类似以下内容,其中外部 IP 是私有 IP 地址:

NAME           TYPE           CLUSTER-IP     EXTERNAL-IP   PORT(S)        AGE
my-service   LoadBalancer     10.0.184.168   10.240.0.25   80:30225/TCP   4m
Run Code Online (Sandbox Code Playgroud)

然后,您已在 AKS 群集上创建了Azure 内部负载均衡器服务,并且关联虚拟网络中的专用 IP 地址已与该服务关联。请确保从 AKS 群集的虚拟网络或连接网络(例如对等虚拟网络、通过 VPN 网关连接的虚拟网络、连接到 Azure 虚拟网络的本地网络)内的设备连接到服务。默认网络安全组规则允许虚拟网络和连接网络内部的连接,但是如果添加自定义规则,请确保有效规则允许源与 AKS 群集子网和节点虚拟机之间的流量。

在第三种情况下,您可能会看到外部 IP<pending>很长时间,如下所示:

NAME         TYPE           CLUSTER-IP    EXTERNAL-IP   PORT(S)        AGE
my-service   LoadBalancer   10.0.192.89   <pending>     80:31541/TCP   45m
Run Code Online (Sandbox Code Playgroud)

在这种情况下,请使用描述服务kubectl describe service。在输出的事件部分下,您可能会在 期间发现错误EnsuringLoadBalancer。请确保在服务清单中正确设置注释,并向 AKS 群集的托管标识或服务主体授予正确的权限,如下所述:https:
//learn.microsoft.com/en-us/azure/aks/internal -lb 和/或
https://learn.microsoft.com/en-us/azure/aks/static-ip