仅当 运行 在 Kubernetes 中时,Firebase Admin Go SDK 才会出现 x509 证书错误

Firebase Admin Go SDK getting x509 certificate error ONLY when running inside Kubernetes

我目前正在开发一个使用 Firebase Admin Go SDK 处理身份验证和使用实时数据库的项目。当我 运行 在本地(仅 运行ning go run main.go)时,该项目正常工作。当我通过 docker 图像(或 GKE,我已经测试过两者)在 Minikube 中 运行 时,每当我尝试进行任何 Firestore 调用时都会收到此错误:

transport: authentication handshake failed: x509: certificate signed by unknown authority

这是我在服务器上用来调用数据库的代码:

// Initialize the app 
opt := option.WithCredentialsFile("./serviceAccountKey.json")
app, err := firebase.NewApp(context.Background(), nil, opt)
// This is the first call I attempt to make, and where the error is thrown
// Create the client
client, err := app.Firestore(context.Background())
iter := client.Collection("remoteModels").Documents(context.Background())
snaps, err := iter.GetAll()
if err != nil {
    logger.Log.Warn("Error getting all remoteModels")
    fmt.Println(err)
    return err
}  

这是我的 Dockerfile,它添加了 Firebase 从控制台提供给我的服务帐户密钥:

FROM scratch

ADD main /
ADD serviceAccountKey.json /

EXPOSE 9090

ENTRYPOINT ["/main", "-grpc-port=9090", "-http-port=9089", "-env=prod"]

我在 Kubernetes 中找不到任何关于 运行ning 的文档。
我需要做些什么才能从 Kubernetes 连接到 Firestore?

如果您使用的是基于 alpine 的图像,请尝试 运行 apk add ca-certificates 它看起来像是一个 tls 错误。
安装 ca 证书,应该可以解决问题