minikube环境下gRPC连接失败



在本地,裸机,两个独立的'服务'通过gRPC连接,客户端和'后端'成功地相互通信。两者都是作为NestJS应用实现的,使用gRPC传输。

当部署在kubernetes(minikube)环境中时,我在客户端得到Error: 14 UNAVAILABLE: No connection established。后端监听localhost:50051(端口从k8服务暴露),前端尝试连接engine-svc.default.svc.cluster.local:50051,其中第一部分直到点是服务名称,我已经nslookup'd它以确保这是完整的域名。

我尝试了端口转发到gRPC kubernetes服务,这个连接的"后端"部分工作正常,并且与之通信正常。因此,"前端"部署/pods是建立连接失败的部分。

Minikube附带了coreDNS。我试过调试它,但没有成功。当"前端"服务试图连接时,来自coreDNS的日志被标记为NOERROR,我已经读到这意味着服务被找到;但仍未成功。

还有什么问题?我错过了什么?如有任何帮助,不胜感激。

多亏了这个答案,我的问题解决了。问题是后端监听localhost:50051,这意味着只有本地连接;端口转发也算作一个,所以这就是它工作的原因。将'listen on'属性更改为后端部分的0.0.0.0:50051解决了这个问题;

相关内容

  • 没有找到相关文章

最新更新