我是docker和vpn的新手,所以我不知道什么是实现这一目标的最佳方法。
康泰克斯:我使用谷歌云中的气流来安排一些任务。这些任务是dockerized的,所以每个任务都是用脚本(使用KubernetesPodOperator)执行一个docker容器
对于这个用例,我需要通过VPN完成连接,然后运行脚本。为了连接VPN(本地),我使用用户名、密码和CA证书。
我已经看到了一些方法来做到这一点,但他们都使用另一个docker映像作为VPN或使用网桥使用主机VPN。
开发解决方案的最佳方法是什么?
我认为你看到的是很好的建议。
有许多项目展示了如何做到这一点-这里有一个例子:https://gitlab.com/dealako/k8s-sidecar-vpn
使用sidecar进行VPN连接通常是个好主意。它有很多优点:
- 允许您使用现有的VPN映像,这样您就不必将VPN软件添加到您的映像
- 允许为多个pod/服务使用完全相同的VPN映像和配置
- 允许你保持你的秘密(用户/密码)只对VPN可用,VPN只会暴露一个普通的TCP/http连接,只对你的服务可用-你的服务/任务永远不会访问秘密,这使得它是一个非常安全的方式存储秘密和身份验证
经过一些调查,我认为没有一个好的方法来连接docker到VPN使用气流(KubernetesPodOperator)
这是一个服务器服务,所以正确的方法是这样做。
应该将您的私人VPN连接到您部署气流和运行气流的K8s服务器的Google VPN (VPC)。