kubernetes 无法呼叫其他pod

huus2vyu  于 2023-10-17  发布在  Kubernetes
关注(0)|答案(2)|浏览(98)

我有一个后端pod,与它相关的服务“backend-service”,另一个前端pod试图访问urlhttp://backend-service:8000上的后端。我端口转发我的前端,打开浏览器中的网址,我可以看到后端网址上的网络选项卡,但没有请求来我的后端。
但是当端口转发我的后端并使用URL“http://localhost:8000"时,事情就正常了

0ejtzxu1

0ejtzxu11#

需要检查的几件事:
您是否正在为后端部署Service?如果没有Service,您将无法从任何地方访问后端的端口,除非您手动进行端口转发。这可能就是为什么没有端口转发就无法访问后端的原因。
第二:你的服务是否在不同的命名空间中?如果你在不同的命名空间中部署,你不能像在docker中那样只使用服务名来连接。要连接到Kubernetes中的服务,格式为<serviceName>.<namespace>.svc.cluster.local。所以对你来说可能是backend-server.backend.svc.cluster.local。检查您的服务和名称空间,并更新连接字符串以使用k8s格式。

avwztpqn

avwztpqn2#

由于前端试图通过后端API端点调用后端服务,因此我必须实际传递URL格式,如“local.example.com/backend"。在url中,应该有一个入口路径(这里是**/backend**)指向你的后端服务。
当我们尝试在基于浏览器的设置上访问后端时,实际上需要传递的URL不是“serviceName.namespace

相关问题