从 Kubernetes 连接到 CloudSQL:无法验证证书

发布时间:2021-02-25 22:15

我正在尝试从在 Kubernetes(不是 Google)中运行的容器连接到 CloudSQL 数据库。我可以使用例如 IntelliJ 进行连接,但 Kubernetes 拒绝连接

<块引用>

未能连接到 host=<ip> user=user database=db:未能 写入启动消息(x509:无法验证证书 因为它不包含任何 IP SAN)

消息是 connect,因为 Google 生成的证书中确实缺少该信息。

那我应该如何连接?

回答1

根据 github,您可以使用 Cloud SQL Proxy 容器作为 sidecar 容器连接到 Cloud SQL (Postgres) 实例。

回答2

很难确定,因为您没有提供太多信息 - 除了“来自 kubernetes”之外,您没有任何关于您如何尝试连接的示例或信息,这使得很难诊断您的具体内容问题是。

但是 - 我要做几个假设:

  1. 根据错误消息,您正在使用 Go
  2. 根据另一条评论,您正在尝试使用自我管理的 SSL 证书而不是 Cloud SQL 代理

如果是这种情况,您可能会遇到这个问题,这要求您在使用更新的 Go 版本时使用自定义验证方法:https://github.com/golang/go/issues/40748#issuecomment-673612108