docker - CloudSQL docker容器暂时无法连接到SQL实例然后在k8s中连接

标签 docker google-cloud-platform google-kubernetes-engine google-cloud-sql

我正在尝试使用docker cloud-sql容器连接到我的GCP Sql实例。我也有一个依赖cloudsql的服务来连接到GKE中的数据库。这两个共同构成了一个 pods 。

连接似乎总是失败大约3或4次,然后成功连接。每当通过创建更新的kubernetes pod来部署我的服务的新版本时,都会发生这种情况。

描述此代码的我的kubernetes部署是:

...

- name: cloudsql-proxy
  image: gcr.io/cloudsql-docker/gce-proxy:1.12
  command:
    - /cloud_sql_proxy
    - -instances=my-project:europe-west1:my-instance=tcp:5432
    - -credential_file=/secrets/cloudsql/credentials.json

...

我希望cloud-sql立即连接到我的实例,但是我在日志中多次收到此错误
couldn't connect to "my-project:europe-west1:my-instance": Post https://www.googleapis.com/sql/v1beta4/projects/my-project/instances/my-instance/createEphemeral?alt=json&prettyPrint=false: oauth2: cannot fetch token: Post https://oauth2.googleapis.com/token: net/http: TLS handshake timeout

最佳答案

此错误表示Pod过载或网络启动时间慢。由于您正在连接到Google OAuth终结点,因此我将排除另一边的问题。

如果您的群集或Pod过载(达到内存限制,CPU为100%等),网络响应可能会开始失败。

关于docker - CloudSQL docker容器暂时无法连接到SQL实例然后在k8s中连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56850245/

相关文章:

docker - 我们可以更新docker默认配置吗?

azure - 在 Azure DevOps 上运行 DockerFile 构建命令时找不到项目

google-cloud-platform - Vertex AI批量预测位置

docker - 在 kubernetes 上运行的 Postgres 在 Pod 重建或集群重启时丢失数据

kubernetes - 如何使用Cloud Composer安排外部集群中的Kubernetes工作负载

python - Django 虽然已安装但找不到 Pillow

Docker 使用私有(private)注册表拉/推,无需前缀

google-compute-engine - Cloud Monitoring 中没有来自 Cloud Logging 中用户定义指标的数据

google-cloud-platform - 如何使用 Terraform 正确更改 Google Kubernetes Engine 节点池?

kubernetes - 如何重新启动 GCP 入口项目以使用更新的 key