【问题标题】:Connect external app to database running in kubernetes?将外部应用程序连接到在 kubernetes 中运行的数据库?
【发布时间】:2020-04-23 16:45:21
【问题描述】:

我正在测试将在外部 docker 容器中运行的应用程序连接到在单独的 kubernetes 集群中运行的数据库。考虑到安全实践,建立这种联系的最佳方式是什么。

我正计划为 kubernetes 集群中的数据库创建一个入口服务。然后,当从应用程序建立连接时,我应该只需要添加入口/服务连接就可以使用这个数据库,对吧?

【问题讨论】:

  • 是否可以选择在 Kubernetes 集群中运行应用程序?

标签: docker kubernetes service kubernetes-ingress kubernetes-pod


【解决方案1】:

就像其他任何事情一样,使用 TLS,确保所有跃点都经过加密和验证。除非您选择的数据库使用基于 HTTP 的协议,否则 Ingress 不会帮助您。所以通常这意味着在数据库级别设置 TLS 并使用 LoadBalancer 服务公开它。

【讨论】:

    【解决方案2】:

    我们正在运行NGINX Ingress Controller,它可以选择允许来自外部的 TCP 连接。通过 CRD Ingress 无法实现,但您可以修改 ConfigMap 以将流量路由到您的服务。

    https://kubernetes.github.io/ingress-nginx/user-guide/exposing-tcp-udp-services/#exposing-tcp-and-udp-services

    另一种选择是使用NodePort 创建服务。然后,您将需要在 NodePort / Nodes 前面安装一个 LoadBalancer 以确保 HA。

    如果您告诉我们更多有关您的设置的信息,相信我们可以为您提供更详细的建议。

    【讨论】:

      猜你喜欢
      • 2019-09-04
      • 2019-02-05
      • 2013-11-15
      • 2012-09-30
      • 1970-01-01
      • 2011-08-24
      • 2021-04-18
      • 2015-05-20
      • 1970-01-01
      相关资源
      最近更新 更多