我在 OpenStack 中部署了一个 k8s 集群,该集群使用内部网络进行通信,并且只有主节点在外部网络中具有浮动 IP。我正在尝试使用 MetalLB 负载均衡器(不是真正的负载均衡器),我已为其分配了 OpenStack 中外部网络的一个段,并使用分配给 MetalLB 控制器的浮动 IP 来从外部访问该子网。我尝试在 L2 上使用它,它使用赢得领导者选举的节点的 MAC 地址发送对 ARP 请求的回复。我已为 OS 中的所有实例禁用端口安全性,例如neutron-port-security 设置 在 MetalLB 的选定节点或控制器上,我应该使用以下命令看到 ARP 请求:
tcpdump -i eth99 arp and arp[6:2] == 2
我知道 ARP 欺骗已被禁用,但删除端口安全不能解决这个问题吗?我已经在另一个环境中测试过,其中虚拟机托管在 VMware 中,一切正常。谢谢!