【发布时间】:2020-02-02 17:51:21
【问题描述】:
我有一个 gRPC 客户端和服务器在我的本地运行,我可以通过 localhost 通过 HTTP2 通过它们进行通信。 但是当应用程序使用 Kubernetes 和 Docker 部署在开发环境中时,我无法从客户端应用程序调用 gRPC 服务器。
我使用此代码连接到客户端:
ManagedChannel managedChannel = ManagedChannelBuilder.forAddress(host, port).usePlaintext().build();
在开发中: 这是我来自服务器应用程序的 application.yml。
grpc:
port: 6565
enabled: true
我的 gRPC 服务器在端口 6565 上运行,所以我也在客户端 application.yml 上更改了以下内容
taxgRPC:
host: bpstax-ws.g-dev4.svc.rnq.k8s.copart.com
port: 6565
当我的客户端调用服务器时,服务器没有收到任何传入请求,客户端失败并给出以下异常:
Caused by: io.grpc.netty.shaded.io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further information: bpstax-ws.g-dev4.svc.rnq.k8s.copart.com/10.148.2.194:6565
当我登录到特定的开发 pod 时,我可以看到正在侦听 gRPC 服务器的端口。
[dedas@rndcks401 ~]$ kubectl exec -ti bpstax-g-dev4-v029-74mj2 -n g-dev4 -- bash
bash-4.1$ netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6565 0.0.0.0:* LISTEN 1/java
tcp 0 0 0.0.0.0:38957 0.0.0.0:* LISTEN 1/java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1/java
tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 1/java
我需要一些有关如何连接到此 gRPC 服务器的帮助。 如果需要任何说明/代码,请告诉我。
【问题讨论】:
-
你找到这个问题的答案了吗??
标签: java spring-boot docker grpc grpc-java