首页 > 解决方案 > Kubernetes 中的 Pod 到 Pod 通信

问题描述

我使用的应用程序部署在具有前端 (React) 和多个后端服务 (Express.js) 的 kubernetes 上。我需要我的前端对每个服务进行 fetch api 调用。前端和每个服务都部署在自己的 Pod 中。一项服务正在公开每个 pod,因此我为每个 pod 提供了 cluster-ip。前端使用负载均衡器暴露,所以我有外部 ip。

问题:我的 fetch 调用需要什么才能访问这些服务之一?(例如 fetch();)我是否遗漏了任何使这成为可能的东西?我浏览了 K8s 文档,但我不明白该怎么做。

有人可以指出我正确的方向吗?

标签: node.jsreactjsexpresskubernetes

解决方案


前端部署中的 Pod 运行一个配置为查找特定后端服务的映像。将前端连接到后端的关键是后端服务。服务创建一个持久的 IP 地址和 DNS 名称条目,以便始终可以访问后端微服务。服务使用选择器来查找将流量路由到的 Pod。

前端使用为后端服务提供的 DNS 名称连接到后端工作 Pod。DNS名称例如“hello”,即 name 前面Service配置文件中字段的值。

外部 IP 可用于与 frontend 集群外部的服务进行交互。现在连接前端和后端时。您可以通过在前端服务的外部 IP 上使用 curl 命令来访问端点。

curl http://${EXTERNAL_IP} 

按照此处的说明进行操作:frontend-backed-connection

请看一下: multiple-backend-kubernetesfrontend-backend-connectionkubernetes-services


推荐阅读