是否可以创建一个通过服务公开的 wireguard pod 部署,然后通过它路由来自其他容器的数据。

我创建了一个 wireguard 部署并通过集群 IP 服务将其公开,但我无法让其他容器通过集群 IP 路由数据,因为它无法访问。但是,我可以通过集群 IP 的端点(wireguard 容器的 IP)进行路由。

我的主要目标是通过 wireguard VPN 连接 2 个 kubernetes 集群,每个集群包含多个 wireguard 服务器,用于实现 HA 和负载分配。

任何想法都将受到赞赏。

1

  • 您有时间查看我的回答吗?它帮助您解决了问题吗?如果没有,我很乐意进一步提供帮助。


    – 


最佳答案
1

如果你想使用 WireGuard 有效地连接多个 Kubernetes,你可以按照以下方法操作,

  1. 对等配置:每个 wireGuard 服务器都应配置其将要连接的对等服务器(其他 wireGuard 服务器)。每个对等配置包括:

    Publickey:对端的公钥。

    Endpoint :对等体的 IP 和端口。

    AllowedIP’s:指定哪些 IP 通过此对等点路由。

请参阅了解逐步的过程。

多个“服务器”可以在配置中定义相同的密钥对。您可以在 wireguard 配置中使用域名。

  1. 保持连接和 MTU 设置:设置适当的保持连接和 MTU 设置以确保可用性。

注意:确保每个需要通过 VPN 路由流量的容器都具有正确的路由表设置。

2

  • 感谢 Imran 的回复。我可以毫无问题地设置 wireguard 服务器,但需要使用 VPN 的容器的路由表存在问题。经过一番研究,我倾向于在容器上使用 ECMP 将流量路由到 wireguard 服务器。


    – 

  • 我很高兴问题已得到解决。


    –