Kubernetes多个Pod通讯

时间:2018-10-29 18:38:34

标签: kubernetes

我解释一下我的情况。

我的Kubernetes中运行着三个Pod。 在一个容器中,运行着一个Flask框架。在另外两个窗格中,有一个带有REST API的Java应用程序。 (两个Pod上的Java应用程序是相同的。)

我使用Flask的Pod必须使用HTTP请求分别单独使用Java应用程序询问两个Pod。

我创建了一个服务,该服务指向Java应用程序的两个Pod。 当我装有Flask的豆荚使用该服务询问另外两个人时,我只有一个回复。

我如何单独定位我的吊舱?就我而言,可以使用Flask从吊舱中获取端点吗?我的Java应用程序可以有x个吊舱。

最诚挚的问候,

Nico。

2 个答案:

答案 0 :(得分:1)

IMO,正确的方法是让3个deployments每个管理您的Pod,每个Pod的replica1

  • 一个用于您的Flask应用程序
  • 一个适用于您的Java应用
  • 针对同一Java应用程序的另一个。

如果仅Java应用程序是您需要从Flask应用程序连接到的应用程序,则可以使用2个不同的services来公开这些部署,这些部署将管理端点。除非您尝试连接到external端点,否则服务应该管理端点。

答案 1 :(得分:0)

  • 您可以将Pod kubectl get ep --all-namespaces的端点分开设置
  • 如果您在内部访问事物,则不需要k8s服务,可以直接使用终结点,但是不建议这样做,因为Pod可能是由R​​S重新创建的。

  • 因此,在这种情况下,您可以为这些Pod定义两个clusterIP服务,只要您对Pod进行了不同的标记