无法从一个服务中的容器pod ping到另一个服务 - grpc客户端无法连接到grpc服务器

时间:2018-01-04 08:00:25

标签: ssl service certificate kubernetes grpc

当我的gRPC客户端在一个pod /容器中运行并尝试调用另一个通过kubernetes服务公开的另一个pod /容器中运行的服务时,我收到以下错误

  

错误:rpc错误:code = Unavailable desc =所有SubConns都在   TransientFailure错误代码:14

我使用cfssl创建了一个TLS证书并将其保存为秘密,并且能够读取证书。

证书是自签名的,具有以下详细信息:

Common Name: *.default.svc.cluster.local
Subject Alternative Names: *, localhost, login, order, login.default, order.default, login.default.svc.cluster.local, order.default.svc.cluster.local, IP Address:127.0.0.1
Organization: None
Organization Unit: api
Locality: Cupertino
State: California
Country: US
Valid From: January 3, 2018
Valid To: January 3, 2019
Issuer: *.default.svc.cluster.local, None
Serial Number: 16ab6a399473af3c095842eccdf7aaeaecaeb368

我的gRPC客户端正在login.default.svc.cluster.local上运行,并显示上述故障。我不确定导入的证书是否存在列出的域或具有通用名称的问题。

相同的证书在localhost

之外的kubernetes外运行

1 个答案:

答案 0 :(得分:0)

我能够通过仅使用端口“:80”而不是“localhost:80”启动我的grpc服务器来修复此问题,并且还可以使用证书或不安全模式进行连接