Google Cloud Function部署长时间停滞,删除操作失败求助
我之前也碰到过这种GCF部署僵住的情况,真的挺闹心的,给你几个靠谱的解决步骤:
第一步:定位卡住的操作ID
先通过命令列出当前区域下的所有函数操作,找到那个卡在DEPLOY_IN_PROGRESS状态的操作:gcloud functions operations list --region europe-west3 --project demo执行后你会看到类似这样的输出,其中
name字段就是操作ID(格式一般是projects/demo/locations/europe-west3/operations/xxxxxx):NAME: projects/demo/locations/europe-west3/operations/abc123
TYPE: google.cloud.functions.v1.CloudFunctionsService.UpdateFunction
STATUS: DEPLOY_IN_PROGRESS第二步:取消卡住的操作
用刚才拿到的操作ID,执行取消命令:gcloud functions operations cancel projects/demo/locations/europe-west3/operations/abc123 --region europe-west3 --project demo这个命令会尝试终止那个卡住的部署流程,等个1-2分钟让系统更新状态。
第三步:再次尝试删除函数
等操作状态变成CANCELLED之后,再执行删除命令:gcloud functions delete fn-dev --region europe-west3 --project demo如果CLI操作无效,试试控制台
有时候CLI的状态更新会有延迟,你可以登录Google Cloud控制台,进入Cloud Functions页面:- 找到
fn-dev函数,点击进入详情页 - 切换到“操作”标签页,找到卡住的部署操作
- 点击操作右侧的“取消”按钮,等状态更新后再尝试删除函数
- 找到
极端情况:联系支持
如果以上方法都不管用,大概率是后台资源出现了异常锁定,这时候可以提交Google Cloud支持工单,说明你的函数信息、操作ID和问题情况,工程师会帮你清理卡住的状态。
补充说明
这种情况一般是部署过程中某个环节(比如资源分配、镜像构建)超时或者意外中断,导致系统的操作状态没有正确同步,所以会一直阻止后续的删除/修改操作。只要能成功取消卡住的操作,后续的删除就正常了。
内容的提问来源于stack exchange,提问作者teodor

