【发布时间】:2020-10-09 21:51:47
【问题描述】:
我正在尝试部署 Cloud Run 服务作为我的开源项目测试的一部分。这是通过我们的自动化 CI/CD 系统完成的,之前已经成功运行了数百次。
创建了 Cloud Run 服务,但从未部署第一个修订版。当我在 GCP Console 中查看新创建的服务时,它显示“云运行错误:内部系统错误,系统将稍后重试。”作为服务的主要状态消息。
失败的命令行是:
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"
该命令的输出(注意:Creating Revision 后面的点继续):
Deploying container to Cloud Run service [cloud-run-gen-name-a179e65d6fdfc19abc57e15df563d8cb] in project [adapt-ci] region [us-central1]
Deploying new service...
Creating Revision....................................................................................................................
控制台中的 YAML 选项卡还针对三个状态条件中的每一个显示相同的消息(见下文)。
为了解决问题,我也试过:
- 使用 GCP Console 手动创建最基本的 Cloud Run 服务,使用入门文档中的示例容器,同时以项目和组织所有者身份登录。我看到了同样的失败。我以前使用此帐户和项目以这种方式手动创建了服务,没有任何问题。
- 使用 GCP Console 在不同的项目中创建与上述相同的示例服务,但使用相同的用户和相同的组织。这很成功,所以问题是特定于项目的。
- 我尝试了两个不同的美国地区,结果相同。
- 由于这通常是自动化的,因此我尝试查找任何超出的配额。在 Cloud Run 配额页面和整体配额页面上,我现在或历史上都没有看到任何超出的配额。不过,这是一个我不太熟悉的领域,所以可能漏掉了一些东西。
- 在两天内重试了数十次。
- GCP 状态页面显示没有中断。
我应该采取哪些其他故障排除步骤来调查和解决此问题?
来自 GCP 控制台中 YAML 选项卡的失败服务的部分信息:
status:
observedGeneration: 1
conditions:
- type: Ready
status: Unknown
message: 'Cloud Run error: Internal system error, system will retry later.'
lastTransitionTime: '2020-10-08T21:07:20.844314Z'
- type: ConfigurationsReady
status: Unknown
message: 'Cloud Run error: Internal system error, system will retry later.'
lastTransitionTime: '2020-10-08T21:07:20.755212Z'
- type: RoutesReady
status: Unknown
message: 'Cloud Run error: Internal system error, system will retry later.'
lastTransitionTime: '2020-10-08T21:07:20.844314Z'
latestCreatedRevisionName: cloud-run-gen-name-3bab80f75cfd57cf87ad89d9d2c18ba3-00001-fus
【问题讨论】:
-
您是否尝试过禁用/启用 Cloud Run Admin API?
-
您是否更改/删除了 Cloud Run 服务帐号?
-
@JohnMichaelG 我禁用并重新启用了 Cloud Run Admin API,之后,我可以使用我的项目所有者帐户从控制台运行示例容器。然后我还能够使用 CI 服务帐户从命令行运行示例容器。但是,我给出的原始命令行仍然以完全相同的方式失败。
标签: google-cloud-platform google-cloud-run