`gcloud run deploy` 引发“修订版 <revision_name> 尚未准备好,无法提供流量。”

问题描述 投票:0回答:5

命令

gcloud run deploy api --region=$REGION --image=$IMAGE

日志

Deploying container to Cloud Run service [api] in project [[MASKED]] region [[MASKED]]
Deploying...
Creating Revision...........interrupted
Deployment failed
ERROR: (gcloud.run.deploy) Revision [[MASKED]] is not ready and cannot serve traffic.

我尝试搜索Google Cloud文档,但它没有提及此类问题。

如何解决“版本尚未准备好,无法提供流量”?

gcloud
5个回答
7
投票

尝试等待几分钟,然后重新启动该程序。古老的“让我们在不更改任何内容的情况下重试”对我有用! :)

编辑:我与一位与我合作的云架构师进行了交谈,他告诉我这是实际的解决方案,因为如果您重试过快地重新启动部署,GCP 可能仍然有一些前一个操作中的待处理操作!


2
投票

我也面临这个问题。就我而言,我从google云控制台的汉堡菜单中检查了“Cloud Run”部分。 “日志”部分应该让您更多地了解出了什么问题。我缺少一个 python 库,在我的 requests.txt 中添加正确的 python 依赖项解决了我的问题。不知怎的,我的本地测试进展顺利,没有这个问题。我希望这有帮助。 :)


2
投票

让容器在本地正常工作后,我在 Cloud Run 中遇到了同样的错误。就我而言,修订并未显示为失败,它们有一个灰色的复选标记

当鼠标悬停时我收到了消息

The revision is healthy but not currently serving traffic.

我只需点击

Manage Traffic
并将 100% 的流量设置为新版本


1
投票

我遇到了这个问题,我的问题是我的 docker 映像在构建阶段缺少所需的依赖包,我的 Dockerfile 错过了一些复制准备安装包所需文件的步骤。

如果云构建日志对您没有意义,要发现您的问题,我认为您应该:

  • gcloud控制台,转到服务“容器注册表”>图像
  • 选择您的存储库名称
  • 从您要检查的图像版本(可能是最新的)>更多操作>显示拉取命令>然后复制该命令
    ex: docker pull gcr.io/..
  • 从 gcloud 控制台标题 > 选择激活 Cloud shell
  • 在云 shell 终端,通过运行之前复制的“pull 命令”来拉取最新版本的 docker 镜像。
  • 从此映像启动您的容器,看看您的运行修订版到底发生了什么

0
投票

同样我在requirements.txt中缺少python-library 更新了库名称;然后就完美了。

© www.soinside.com 2019 - 2024. All rights reserved.