【问题标题】:Golang gRPC Client connecting to GKEGolang gRPC 客户端连接到 GKE
【发布时间】:2020-10-25 02:34:33
【问题描述】:
【问题讨论】:
标签:
go
kubernetes
google-kubernetes-engine
grpc
kubernetes-ingress
【解决方案1】:
我在探索了 grpcurl 的内部工作原理后解决了这个问题。对于任何可能被卡住的人来说,这就是区别......
// Not working...
conn, err = grpc.Dial(host, grpc.WithInsecure())
// Working...
var tlsConf tls.Config
tlsConf.InsecureSkipVerify = true
var creds = credentials.NewTLS(&tlsConf)
conn, err = grpc.Dial(host, grpc.WithTransportCredentials(creds))
之前我使用了标志grpc.WithInsecure()。它没有用,所以探索 grpcurl,我发现他们使用的是grpc.WithTransportCredentials(),而不是tls.Config,而是将InsecureSkipVerify 设置为true。结果很好。