我正在开发一个使用Google Pub / Sub客户端库的golang应用程序。我正在使用Google容器引擎进行部署。我按照以下步骤进行部署 -
CGO_ENABLED=0 GOOS=linux go build -o bin/app app.go
Dockerfile -
FROM scratch
ADD bin/app /
CMD ["/app"]
应用程序启动正常,我可以看到一些初始调试日志。但是,当我尝试使用client, err := pubsub.NewClient(ctx, projectId)
实例化pub / sub客户端时,方法调用永远不会返回。在本声明之后,我没有看到日志消息。
我有" Cloud Pub / Sub"我的GKE集群上启用了权限。此外,该应用程序在我的本地计算机上运行没有任何问题。
可能是什么问题?
答案 0 :(得分:3)
好的,所以我终于找到了问题及其解决方案。我的映像不包含pub / sub客户端(当然还有许多其他库)进行通信所需的任何SSL证书。
将本地计算机的/etc/ssl/certs/ca-certificates.crt
文件添加到泊坞窗图像的/etc/ssl/certs/
位置可解决问题。
在代码处这个令人敬畏的post是我学习这个解决方案的地方。