1

我的集群在本地运行。目前,当我尝试 ping 从 Metal LB 分配给它的服务类型 LoadBalancer 的外部 IP 时。我从托管 Pod 的 VM 之一收到回复 - Destination Host unreachable。这是因为 pod 位于内部 kubernetes 网络上(我使用的是 calico)并且无法 ping 通。对场景的详细解释有助于更好地理解它。此外,所有服务都按预期执行。我只是想知道这背后的确切原因,因为我是新手。任何帮助都感激不尽。谢谢

4

1 回答 1

1

实际上,在安装metal LB的过程中,我们需要分配一个ip range,metal LB可以从中分配ip。这些 ip 必须在您的 dhcp 网络范围内。例如,在虚拟盒中,如果您使用仅主机适配器,则从 Virtualbox 仅主机适配器 dhcp 服务器分配网络 IP。

金属LB的成分是:

metallb 系统/控制器部署。这是处理 IP 地址分配的集群范围的控制器。metallb-system/speaker 守护进程。这是使用您选择的协议以使服务可访问的组件。

当您更改服务类型负载均衡器时,Metal LB 将从其 ip 池中分配一个 ip 地址,这基本上是 kubernets 内部 ip 与 metal LB 分配的 ip 的映射。你可以看到这个

kubect get svc  -n namespaces

有关详细信息,请查看此文档

于 2020-06-07T03:31:24.970 回答