Google cloud platform 什么导致';云运行错误:内部系统错误,系统将稍后重试';?故障排除建议?

Google cloud platform 什么导致';云运行错误:内部系统错误,系统将稍后重试';?故障排除建议?,google-cloud-platform,google-cloud-run,Google Cloud Platform,Google Cloud Run,我正在尝试部署一个云运行服务,作为我的开源项目测试的一部分。这是通过我们的自动化CI/CD系统完成的,以前已经成功运行了数百次 创建了云运行服务,但从未部署第一个版本。当我在GCP控制台中查看新创建的服务时,它显示“云运行错误:内部系统错误,系统将稍后重试。”作为该服务的主要状态消息 失败的命令行是: gcloud --configuration=adapt-cloud-gcloud-testing --quiet run deploy cloud-run-gen-name-a179e65d6f

我正在尝试部署一个云运行服务,作为我的开源项目测试的一部分。这是通过我们的自动化CI/CD系统完成的,以前已经成功运行了数百次

创建了云运行服务,但从未部署第一个版本。当我在GCP控制台中查看新创建的服务时,它显示“云运行错误:内部系统错误,系统将稍后重试。”作为该服务的主要状态消息

失败的命令行是:

gcloud --configuration=adapt-cloud-gcloud-testing --quiet run deploy cloud-run-gen-name-a179e65d6fdfc19abc57e15df563d8cb --platform=managed --format=json --no-allow-unauthenticated --memory=128M --cpu=1 --image=gcr.io/adapt-ci/http-echo --region=us-central1 --port=5678 --set-env-vars=ADAPT_TEST_DEPLOY_ID=MockDeploy-aymb --args="-text,Adapt Test"
该命令的输出(注意:
创建修订后的点只需继续):

控制台中的YAML选项卡还为三种状态中的每种状态显示相同的消息(见下文)

为了排除故障,我还尝试了:

  • 以项目和组织所有者身份登录时,使用GCP控制台从入门文档中使用示例容器手动创建最基本的云运行服务。我也看到了同样的失败。我以前用这种方式手动创建服务,使用这个帐户和项目,没有任何问题
  • 使用GCP控制台在不同的项目中创建与上述相同的示例服务,但使用相同的用户和相同的组织。这是成功的,因此问题是特定于项目的
  • 我尝试了两个不同的美国地区,结果相同
  • 由于这通常是自动化的,所以我尝试查找任何超出的配额。在“云运行配额”页面和“总体配额”页面上,我现在和过去都没有看到任何超出配额的情况。然而,这是一个我不太熟悉的领域,所以可能遗漏了一些东西
  • 在两天的时间里反复尝试了几十次
  • GCP状态页面显示无停机
我应该采取哪些其他故障排除步骤来调查和解决此问题

GCP控制台中YAML
选项卡中关于故障服务的部分信息:

状态:
观测生成:1
条件:
-类型:就绪
状态:未知
消息:“云运行错误:内部系统错误,系统将稍后重试。”
最后转换时间:“2020-10-08T21:07:20.844314Z”
-类型:ConfigurationsReady
状态:未知
消息:“云运行错误:内部系统错误,系统将稍后重试。”
最后转换时间:“2020-10-08T21:07:20.755212Z”
-类型:RoutesReady
状态:未知
消息:“云运行错误:内部系统错误,系统将稍后重试。”
最后转换时间:“2020-10-08T21:07:20.844314Z”
最新的CreatedRevisionName:cloud-run-gen-name-3bab80f75cfd57cf87ad89d9d2c18ba3-00001-fus

经过一段时间的反复尝试,我让一切都恢复了正常

我做的第一件取得一些进展的事情是禁用云运行管理API并重新启用它。在那个更改之后,我能够从控制台使用示例容器创建一个服务,并以项目所有者的身份登录。我还能够使用CLI中的示例容器创建服务,并以CI服务帐户登录。但是,我的问题中的原始命令仍然具有与以前相同的行为。我不知道项目是如何进入这种状态的,以至于项目所有者无法使用Cloud Run

我做的第二件事是将我试图使用的容器映像(
gcr.io/adapt ci/httpecho
)重新推送到gcr。我推的是与之前完全相同的图像。这最终允许CI系统成功创建服务


作为我早期故障排除的一部分,我查看了该项目的Google容器注册表,并确认所需的图像仍然存在。然而,我们最近在云存储桶上启用了一个生命周期策略,可以删除超过一定时间的项目。所以我最好的猜测是政策删除了一些,但并非所有与
gcr.io/adapt ci/http echo
映像关联的文件都是,这导致了内部错误,而不是说找不到容器映像的错误。

您是否尝试禁用/启用云运行管理API?是否更改/删除了云运行服务帐户?@JohnMichaelG I disabled并重新启用了Cloud Run Admin API,之后,我可以使用我的项目所有者帐户从控制台运行示例容器。然后,我还可以使用CI服务帐户从命令行运行示例容器。然而,我给出的原始命令行仍然以完全相同的方式失败。听起来差不多是对的。使用容器注册表存储桶或设置手动干预文件,但生命周期策略通常不是一个好主意。使用GCR UI/CLI删除未使用的容器映像。或者,我们有第三方工具定期清理未使用的图像。
Deploying container to Cloud Run service [cloud-run-gen-name-a179e65d6fdfc19abc57e15df563d8cb] in project [adapt-ci] region [us-central1]
Deploying new service...
Creating Revision....................................................................................................................