【问题标题】:How to connect a docker container to VPN如何将 docker 容器连接到 VPN
【发布时间】:2021-12-08 23:07:22
【问题描述】:

我对 docker 和 VPN 还很陌生,所以我不知道实现这一目标的最佳方法是什么。

上下文: 我使用 Google Cloud 中的气流来安排一些任务。这些任务是 dockerized,所以每个任务都是一个带有脚本的 docker 容器的执行(使用 KubernetesPodOperator)

对于这个用例,我需要通过 VPN 完成连接,然后运行脚本。 要连接 VPN(本地),我使用用户、密码和 CA 证书。

我已经看到了一些方法,但它们都使用另一个 docker 映像作为 VPN 或使用主机 vpn 的网桥。

为此开发解决方案的最佳方法是什么?

【问题讨论】:

  • VPN 使用哪些协议?您可以使用基于 HTTPS 的 VPN。否则,您不能作为经典 VPN 使用(可路由到)容器不支持的 IP 协议。在大多数情况下,您需要连接到容器主机,然后在连接到容器的主机中执行命令。

标签: docker kubernetes google-cloud-platform airflow vpn


【解决方案1】:

我认为你看到的是很好的建议。

有许多项目展示了它是如何完成的——这里有一个例子:https://gitlab.com/dealako/k8s-sidecar-vpn

使用 Sidecar 进行 VPN 连接通常是个好主意。它有很多优点:

  • 允许您使用现有的 VPN 映像,因此您不必将 VPN 软件添加到您的映像中
  • 允许对多个 pod/服务使用完全相同的 VPN 映像和配置
  • 允许您保留仅对 VPN 可用的机密(用户/密码),并且 VPN 只会公开仅对您的服务可用的纯 TCP/http 连接 - 您的服务/任务永远不会泄露机密,这使它成为存储机密和身份验证的非常安全的方式

【讨论】:

    【解决方案2】:

    经过一番调查,我认为没有一种使用 Airflow (KubernetesPodOperator) 将 docker 连接到 VPN 的好方法

    这是一个 serverles 服务,所以正确的方法是这样做。

    应该将您的私有 VPN 连接到您部署运行 Airflow 的 airfow 和 K8s 服务器的 Google VPN (VPC)。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 2017-05-19
    • 2019-01-12
    • 2019-01-25
    • 2022-01-11
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-22
    相关资源
    最近更新 更多