一尘不染

GCP中kubernetes内部同一节点上Pod到Pod的通信

docker

我已经为kubernetes中的front(REACT)和backend(EXPRESS NODE JS)项目泊坞窗并创建了部署和服务。我已经在Google
Cloud Platform中的两个 Pod (即 一个 Pod- > REACT APP和SECOND POD-> EXPRESS
NODE JS
)的同一节点的Kubernetes(单节点集群)中成功部署了。

题:

1.)如何在Kubernetes集群中的节点内部从一个Pod通讯到另一个Pod?

2.)通过在 kubernetes中* 创建 LoadBalancer Type
Service,我已将REACT应用程序暴露给外部环境,并且能够从浏览器访问React App
Endpoint。现在,是否可以从节点内的REACT应用程序访问EXPRESS应用程序,而无需将我的EXPRESS应用程序暴露于外界。如何实现呢?
*

提前致谢。


阅读 377

收藏
2020-06-17

共1个答案

一尘不染

如果前端是基于浏览器的JavaScript应用程序,则可以从群集中的Pod托管JavaScript资源,但是逻辑不能在其中运行。前端的JavaScript在用户的浏览器中运行。从用户的浏览器调用群集中的任何后端端点都需要在链中某个位置使用外部URL,而不仅仅是内部URL。

一种典型的方法是设置LoadBalancer类型的Service并将外部端点放入后端的配置中。另一个方法是设置一个Ingress
Controller,并与后端一起部署Service和Ingress。使用Ingress,您可以在部署服务之前知道外部URL是什么(如果使用DNS,这是最简单的方法)。群集内部通信不需要Ingress,可以使用ClusterIP类型的服务来完成,但我认为您需要外部通信。

您将需要公开一个外部入口点,以使用户无论如何都可以访问UI(托管JS的位置)。使用入口,您可以将到后端的路由配置为同一(外部)主机上的其他路径。

2020-06-17