本地通过Cloud Code运行Cloud Run连接Cloud SQL失败问题
解决Cloud Code本地运行Cloud Run时cloud-sql-proxy连接失败问题
问题详情
在Mac M1芯片环境下,通过VSCode的Cloud Code扩展本地运行Cloud Run容器时,构建失败,报错如下:
Waiting for deployments to stabilize... - ...: container cloud-sql-proxy terminated with exit code 1 - ...: container cloud-sql-proxy terminated with exit code 1 > Error retrieving logs for pod ...: exit status 1. Try `kubectl logs d... -n default -c cloud-sql-proxy`
执行日志命令后得到输出:
E0228 10:35:09.202560 9698 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:53943/api?timeout=32s": dial tcp 127.0.0.1:53943: connect: connection refused E0228 10:35:09.202732 9698 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:53943/api?timeout=32s": dial tcp 127.0.0.1:53943: connect: connection refused E0228 10:35:09.203867 9698 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:53943/api?timeout=32s": dial tcp 127.0.0.1:53943: connect: connection refused E0228 10:35:09.203994 9698 memcache.go:265] couldn't get current server API group list: Get "https://127.0.0.1:53943/api?timeout=32s": dial tcp 127.0.0.1:53943: connect: connection refused The connection to the server 127.0.0.1:53943 was refused - did you specify the right host or port?
解决建议
检查本地Kubernetes集群状态
Cloud Code本地运行Cloud Run依赖本地Kubernetes集群(如Docker Desktop内置集群):- 打开Docker Desktop,确认Kubernetes选项已启用,且集群处于运行状态
- 执行
kubectl cluster-info验证集群连通性,若返回连接失败,说明集群未正常启动,需重启Docker Desktop并等待集群初始化完成
确保cloud-sql-proxy镜像兼容ARM64架构
Mac M1为ARM64架构,需使用支持该架构的cloud-sql-proxy镜像:
在Cloud Run的本地部署配置中,将代理镜像指定为gcr.io/cloudsql-docker/gce-proxy:1.33.0-alpine(该版本原生支持ARM64),避免使用仅支持AMD64的镜像版本重置Kubernetes本地资源与Cloud Code配置
- 清理当前命名空间下的所有Pod:
kubectl delete pod --all -n default - 在VSCode中删除现有的Cloud Run本地运行配置,重新生成配置文件
- 重启VSCode及Cloud Code扩展,清除缓存
- 清理当前命名空间下的所有Pod:
验证Kubernetes API Server端口配置
- 执行
kubectl config view | grep server查看当前集群的API Server地址,确认端口与日志中的53943是否匹配 - 若Docker Desktop修改过Kubernetes端口,需同步更新Cloud Code的运行配置,确保代理容器指向正确的API Server地址
- 执行
重启核心服务
- 完全退出Docker Desktop,等待2-3分钟后重新启动,确保Kubernetes集群彻底初始化
- 重启VSCode,避免扩展进程残留导致的配置冲突
内容的提问来源于stack exchange,提问作者David
相关产品推荐
相关产品推荐

