我正在尝试从在 Kubernetes(不是 Google)中运行的容器连接到 CloudSQL 数据库。我可以使用例如 IntelliJ 进行连接,但 Kubernetes 拒绝连接
<块引用>未能连接到 host=<ip> user=user database=db
:未能
写入启动消息(x509:无法验证证书
因为它不包含任何 IP SAN)
消息是 connect,因为 Google 生成的证书中确实缺少该信息。
那我应该如何连接?
根据 github,您可以使用 Cloud SQL Proxy 容器作为 sidecar 容器连接到 Cloud SQL (Postgres) 实例。
很难确定,因为您没有提供太多信息 - 除了“来自 kubernetes”之外,您没有任何关于您如何尝试连接的示例或信息,这使得很难诊断您的具体内容问题是。
但是 - 我要做几个假设:
如果是这种情况,您可能会遇到这个问题,这要求您在使用更新的 Go 版本时使用自定义验证方法:https://github.com/golang/go/issues/40748#issuecomment-673612108