如何使用 python 的 pymysql 运行 连接到 Google Cloud SQL 作为 Kubernetes 集群中 dockerized 容器 运行 的一部分?

How to connect to Google Cloud SQL with python's pymysql running as part of a dockerized container running in a Kubernetes cluster?

目前我正在通过代理在本地访问我的 Google 云 SQL,如下所示。

conn = pymysql.connect(unix_socket='cloudsql/'+project_name, user=user, password=password, db=db)

现在我已经设置了集群并将其外部 IP 列入白名单。我需要更改上面的行以从 Kubernetes 连接到 Cloud SQL。 (我不认为我可以继续使用代理,因为它不能被停靠)我不确定如何更改我的 pymysql.connect() 调用。 任何建议将不胜感激。

有一个官方 Cloud SQL proxy docker image,您可以在同一个 pod 中将其用作应用容器旁边的边车容器。这实际上是从 GKE 连接到 Cloud SQL 的推荐方式。

你会找到详细的部署配置here(这个例子是针对wordpress的,但思路是一样的)。您的应用程序将使用 127.0.0.1:3306 作为主机地址来访问您的数据库