使用 Calico 在 Kubernetes 上通过 OpenVPN 路由流量

Hay*_*all 5 networking kubernetes

我正在 IBM 容器服务上运行 kubernetes 集群。

我设置了一个 OpenVPN pod,它成功地允许客户端连接。客户端具有使用 CCD 分配的固定 IP(在 范围内10.240.0.0/16)。

我希望我的集群中的其他 pod(在172.30.42.0/24)能够访问通过 OpenVPN 连接的客户端。

我试图通过向主机节点添加路由来实现这一点:

ip route add 10.240.0.0/16 via 172.30.42.65172.30.42.65OpenVPN pod在哪里)

简而言之,这允许来自节点上其他 Pod 的流量将流量路由到 OpenVPN 客户端。不幸的是,Calico 的 Felix 在短时间内移除了根。

是否可以通过 VPN 服务器 pod 设置从节点到 VPN 客户端的路由,接受 Calico 似乎由 IBM 强制执行?

我见过https://github.com/pieterlange/kube-openvpn,它使用端口转发实现了一些关闭。但是,这取决于为每个 VPN 客户端设置端口转发规则,我宁愿避免这种情况(感觉就像我们正在使用此解决方案重新发明路由......)

我认为这可以通过 Calico 配置来实现,但我在他们的文档中找不到任何看起来正确的东西。

小智 1

Calico 有一个注释,您可以在其中指定 Pod 的 IP 地址:

annotations:
        "cni.projectcalico.org/ipAddrs": "[\"192.168.0.1\"]"
Run Code Online (Sandbox Code Playgroud)

您可以在注释中指定 OpenVPN pod 的地址,然后为 OpenVPN 客户端创建静态路由。