我为 AKS 中的服务创建了一个负载均衡器,并且该负载均衡器被批准可以从 AKS 网络子网组进行访问。负载均衡器具有与内部服务对应的外部IP地址。但我无法访问负载均衡器提供的 IP 地址。
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
| 归档时间: |
|
| 查看次数: |
6010 次 |
| 最近记录: |