我想知道是否有人能够通过Wireguard VPN使Kubernetes正常运行。 我在由Wireguard链接的2个VM上创建了2个节点群集。具有完整控制平面的主节点可以正常工作,并且可以通过Wireguard接口接受工作节点。我将kubelet的nodeip设置为wireguard ip,还将法兰绒的iface参数设置为使用wireguard接口而不是默认接口。到目前为止,这似乎运作良好。
当我尝试通过join命令将工作节点加入集群时,就会出现问题。 请注意,我还将kubelet的节点ip编辑为工作节点上的wireguard ip。
加入后,“ Kubernetes防火墙”会丢弃所有到该节点的流量。通过kubernetes防火墙,我的意思是,如果在工作节点上发出join命令后检查iptables,您将看到KUBE-FIREWALL会丢弃所有标记的数据包。防火墙在主服务器上是标准的,但我想我要丢失的部分是在加入主节点后如何使工作流上的流量通过。
我什至无法ping通google.com或通过Wireguard隧道与主机进行通信。也无法安排广告连播。我已经手动删除了KUBE-FIREWALL规则作为测试,然后该规则允许调度pod并让常规流量在工作节点上流动,但是Kubelet将在大约一分钟后快速重新创建规则。
我认为需要在加入之前或沿着这些路线创建一条路线。 以前有没有人尝试过此方法,对此将不胜感激。
答案 0 :(得分:1)
获得一些帮助后,我发现问题与Wiregaurd有关。特别是在将wg-quick作为服务运行时,该服务显然创建了一个ip规则,该规则将通过wg0接口路由所有传出流量,但WG背景安全通道除外。这会在尝试将辅助服务器连接到集群时引起问题,因此只需手动创建和启动wg0接口(如下所示)即可
ip link add dev wg0 type wireguard
ip addr add 10.0.0.4/24 dev wg0
wg addconf wg0 /etc/wireguard/wg0.conf
ip link set wg0 up