我有一个在 Site-2-Site 连接子网中运行的 Kubernetes AKS 集群。Kubernetes 能够自动为服务创建外部 LB。最终的配置如下所示:
- 前端 IP 配置:
52.123.123.12
- 后端池:kubernetes(2 个虚拟机)
- 健康探测:
- 协议:
TCP
、端口:30231
、间隔:5
、不健康阈值:(2
注意:30231
是每个节点上可访问 HTTPS 的端口) - 协议:
TCP
、端口:32525
、间隔:5
、不健康阈值:(2
注意:32525
是每个节点上可访问 HTTP 的端口)
- 协议:
- 负载均衡规则:
- IPv4、前端 IP:、
52.123.123.12
端口:443
、后端端口:443
、后端池:kubernetes (2 virtual machines)
、健康探测:the one for 30231
- IPv4、前端 IP:、
52.123.123.12
端口:80
、后端端口:80
、后端池:kubernetes (2 virtual machines)
、健康探测:the one for 32525
- IPv4、前端 IP:、
- 入站 NAT 规则: 没有任何
外部 LB 路由一切顺利
现在我想做的是手动创建一个相同的 LB,如下所示,但内部的。我创建了一个 ILB,并添加了后端池、健康探测和 LB 规则,其配置与上面的外部 LB 完全相同(IP 除外)。
内部 LB 位于 IP 上10.240.140.5
,与节点本身位于同一子网10.240.140.0/24
。我可以直接访问30231,32525
两个节点上的两个端口10.240.140.1,10.240.140.2
,但如果我尝试访问 ILB(10.240.140.5:80
或10.240.140.5:443
),连接就会超时。即使池 + 探测器 + 规则的相同配置在外部 LB 上也能正常工作。
有任何想法吗?
答案1
外部 LB 使用公共虚拟 IP 地址与托管虚拟机的云服务。内部 LB 的 IP 地址为 10.240.140.5,这是一个私有 IP 地址,我们不能使用它直接公开连接到 LB 或 VM。
如果你想从本地网络访问内部虚拟机,你可以使用P2S VPN 网关在 Azure 门户上将流量从本地网络路由到 Vnet。