如何连接 Kubernetes 中的不同部署?

How to connect different deployments in Kubernetes?

我有两个后端部署,REST 服务器和一个数据库服务器,每个都 运行 在某些特定端口上。 REST 服务器内部调用数据库服务器。

现在如何在我的 REST 服务器部署中引用我的数据库服务器部署,以便它们可以相互通信?

  1. 将您的部署公开为服务。例如,kubectl 暴露...
  2. Connect/Allow 这些通过创建网络策略进行通信。

(数据库的)服务对象将为您提供一个虚拟(稳定)IP。根据服务类型,您的其余代码可以通过 clusterIP/externalName/externalIP/DNS.

调用数据库

首先,为您的数据库服务器定义一个服务,它将创建一种负载均衡器(在大多数情况下基于 iptables 的内部 kube 集成)。这样,您就可以通过服务名称或 fqdn 来引用它,例如 mydbsvc.namespace.svc.cluster.local。这将 return "Cluster IP" 到那个负载均衡器。

那么这只是一个常规应用程序配置的问题,将其指向 mydbsvc 上的数据库,最好是通过环境变量,例如 DB_HOST=mydbsvc 在您的 REST [=18= 中设置] 部署清单(pod 模板环境)