minikube 环境中的 gRPC 连接失败
A gRPC connection fails in minikube environment
在本地,裸机,两个独立的 'services' 通过 gRPC 连接、客户端和 'backend' 成功地相互通信。两者都使用 gRPC 传输作为 NestJS 应用程序实现。
在 kubernetes(minikube) 环境中部署时,我在客户端中得到 Error: 14 UNAVAILABLE: No connection established
。后端侦听 localhost:50051
(端口从 k8 服务公开),前端尝试连接 engine-svc.default.svc.cluster.local:50051
,其中直到点的第一部分是服务名称,我已经 nslookup
以确保这是完整的域名。
我尝试将端口转发到 gRPC kubernetes 服务,这 'backend' 部分连接工作正常并且通信 to/from 工作正常。因此 'frontend' deployment/pods 是建立连接失败的部分。
Minikube 与 coreDNS 打包在一起。我试过调试它但没有成功。当 'frontend' 服务尝试连接时,来自 coreDNS 的日志标有 NOERROR
,我读过这意味着找到了服务;还是没成功。
还有什么问题?我错过了什么?非常感谢任何帮助。
感谢 解决了我的问题。问题是后端正在监听 localhost:50051
,这意味着仅本地连接; port-forwarding 也算作一个,所以这就是它起作用的原因。将后端部分的 'listen on' 属性 更改为 0.0.0.0:50051
解决了问题;
在本地,裸机,两个独立的 'services' 通过 gRPC 连接、客户端和 'backend' 成功地相互通信。两者都使用 gRPC 传输作为 NestJS 应用程序实现。
在 kubernetes(minikube) 环境中部署时,我在客户端中得到 Error: 14 UNAVAILABLE: No connection established
。后端侦听 localhost:50051
(端口从 k8 服务公开),前端尝试连接 engine-svc.default.svc.cluster.local:50051
,其中直到点的第一部分是服务名称,我已经 nslookup
以确保这是完整的域名。
我尝试将端口转发到 gRPC kubernetes 服务,这 'backend' 部分连接工作正常并且通信 to/from 工作正常。因此 'frontend' deployment/pods 是建立连接失败的部分。
Minikube 与 coreDNS 打包在一起。我试过调试它但没有成功。当 'frontend' 服务尝试连接时,来自 coreDNS 的日志标有 NOERROR
,我读过这意味着找到了服务;还是没成功。
还有什么问题?我错过了什么?非常感谢任何帮助。
感谢 localhost:50051
,这意味着仅本地连接; port-forwarding 也算作一个,所以这就是它起作用的原因。将后端部分的 'listen on' 属性 更改为 0.0.0.0:50051
解决了问题;