在europe-west3部署Cloud Functions Gen2时陷入无限循环求助
问题现象
自昨日起,更新已有Cloud Functions函数或用相同代码创建新函数时陷入部署无限循环,执行部署命令后卡在「Creating Cloud Run service」环节,日志显示:Unable to create 0 instances for "***2-00001-sif" because there are already 0 in this region.
更换至europe-west2等其他区域部署正常,Web界面部署默认函数也卡在相同步骤。
解决方案
检查区域配额限制
europe-west3区域可能存在Cloud Run实例创建的配额临时紧张或异常锁定。前往Google Cloud控制台「IAM与管理」-「配额」页面,查看该区域下Cloud Run相关配额(如“Cloud Run instances per region”),确认是否存在配额耗尽或异常占用情况。清理残留Cloud Run资源
Cloud Functions Gen2依赖Cloud Run运行,区域内可能存在未正常清理的Cloud Run服务或残留资源。执行以下命令排查并清理:# 列出europe-west3区域的所有Cloud Run服务 gcloud run services list --region=europe-west3 # 删除异常服务(替换为实际服务名称) gcloud run services delete <target-service-name> --region=europe-west3清理完成后重新尝试部署。
验证服务账号权限
确认部署使用的服务账号***@appspot.gserviceaccount.com在europe-west3区域具备足够权限:- 需包含
roles/run.admin或roles/cloudfunctions.developer角色 - 确保账号拥有该区域内创建Cloud Run服务的权限,避免区域级权限限制导致部署阻塞
- 需包含
获取详细部署日志排查
添加--verbosity=debug参数重新部署,查看更详细的调试日志以定位具体故障点:gcloud functions deploy --gen2 --runtime=go120 --region=europe-west3 --trigger-http --allow-unauthenticated --entry-point=HelloHTTP --memory=128Mi --timeout=120s --service-account=***@appspot.gserviceaccount.com SomeName --verbosity=debug若确认是Google Cloud侧临时故障,可等待一段时间后重试,或提交官方支持工单反馈区域问题。
内容的提问来源于stack exchange,提问作者Deryabin Sergey

