【问题标题】:Kubernetes - Connecting to a remote database server via sshKubernetes - 通过 ssh 连接到远程数据库服务器
【发布时间】:2019-03-30 17:52:15
【问题描述】:

我们正在使用 gcloud/docker/K8 将我们的网络应用程序迁移到分布式应用程序模型。我们有一个远程数据库服务器,它被配置为只接受来自另一个远程服务器的连接,即要访问这个数据库,您必须首先使用用户名和密码 ssh 到一个服务器,然后使用普通用户通过 MySQL 主机名连接到数据库和密码。 一直在努力寻找谷歌,试图找出我们如何配置我们的 K8 pod 来建立这种连接,似乎有许多不同的方法可能可以工作,但还没有记录在案的“肯定火”的方法.我们的微服务是用 Lumen 编写的,并且能够成功连接到我们的开发数据库,​​它也是远程的,但不是 ssh。 我们最好的方法可能是什么?尝试配置 Dockerfile 以使 pod ssh 出来?还是我们应该尝试将 K8 服务连接到数据库并让 pod 连接到该数据库?

【问题讨论】:

  • 我肯定会选择 K8S 服务和 Ingress。

标签: docker ssh kubernetes lumen devops-services


【解决方案1】:

您有三个选择:

  1. 重新配置您的网络层以允许从您的 Kubernetes 节点“出口地址”进行远程访问。也称为“在防火墙上打洞”——这可能不是一种选择,但如果是,它是最简单的解决方案。
  2. 使用 ssh 隧道在您的节点和数据库服务器之间建立“隧道式”连接 - 可靠性不高,容易受到网络连接和可恢复性问题的影响。
  3. 在数据库服务器(或同一子网中的节点)上部署 openvpn 并在节点 POD 子网中运行 vpn 客户端(也可以使用 openvpn 完成)——可靠、安全、工作量小但可行且可持续.请参阅 https://github.com/mateothegreat/k8-byexamples-openvpn 以获取完整的端到端示例和文档。

【讨论】:

    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    • 2012-04-30
    • 1970-01-01
    • 2019-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多