尝试使用完全托管的云运行将 SQL 实例连接到 Cloud Run 服务工作正常,但是当我尝试通过 Anthos 连接服务时(这是必需的,因为我们需要在服务上使用 websockets)我只是得到 ENOENT(无条目),更新 IAM 为具有正确权限的 GKE,重新创建了启用所有服务的集群/
这是我正在执行的部署命令
gcloud run deploy \
--project ${GOOGLE_PROJECT_ID} \
--platform gke \
--cluster dev \
--cluster-location ${GOOGLE_COMPUTE_ZONE} \
--image gcr.io/${GOOGLE_PROJECT_ID}/${PROJECT_NAME} \
--set-cloudsql-instances "${GOOGLE_PROJECT_ID}:europe-west1:dev" \
--set-env-vars "$(tr '\n' ',' < "${ENV_KEY_PRODUCTION}")" \
--set-env-vars "SERVICE=${1}" \
--set-env-vars "DB_HOST=/cloudsql/${GOOGLE_PROJECT_ID}:europe-west1:dev" \
"${1}"
如果我使用 SQL 中的私有 IP 并删除--set-cloudsql-instances
DB_HOST 并将其设置为私有 IP,它就可以工作。
但是添加--set-cloudsql-instances
应该为 GKE 集群中的服务创建一个 sidecar 并允许它连接到 SQL?