What causes 'Cloud Run error: Internal system error, system will retry later'? Suggestions for troubleshooting?
What causes 'Cloud Run error: Internal system error, system will retry later'? Suggestions for troubleshooting?
我正在尝试部署云 运行 服务作为我的开源项目测试的一部分。这是通过我们的自动化 CI/CD 系统完成的,并且之前已经成功运行了数百次。
云 运行 服务已创建,但第一个修订版从未部署。当我在 GCP 控制台中查看新创建的服务时,它显示“Cloud 运行 错误:内部系统错误,系统将稍后重试。”作为服务的主要状态消息。
失败的命令行是:
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 控制台创建最基本的云 运行 使用入门文档中的示例容器手动创建服务,同时以项目和组织所有者身份登录。我看到同样的失败。我以前使用此帐户和项目以这种方式手动创建服务,没有任何问题。
- 使用 GCP Console 在不同的项目中创建与上述相同的示例服务,但使用相同的用户和相同的组织。这工作成功,所以问题是特定于项目的。
- 我尝试了两个不同的美国地区,结果相同。
- 由于这通常是自动化的,因此我试图查找任何超出的配额。在 Cloud 运行 配额页面和整体配额页面上,我现在和历史上都没有看到任何超出配额的情况。然而,这是一个我不是很熟悉的领域,所以可能遗漏了一些东西。
- 两天重试几十次。
- 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 运行 Admin API 和 re-enable 它。更改之后,我能够使用控制台中的示例容器创建服务,并以项目所有者身份登录。我还能够使用 CLI 中的示例容器创建服务,并以 CI 服务帐户登录。但是,我的问题中的原始命令仍然具有与以前相同的行为。我不知道项目是如何进入这种状态的,以至于项目所有者无法使用 Cloud 运行.
我做的第二件事是 re-push 我试图使用 (gcr.io/adapt-ci/http-echo
) 的容器镜像到 GCR。我推送了与之前完全相同的图片。这最终让 CI 系统成功创建了服务。
作为我之前故障排除的一部分,我查看了该项目的 Google Container Registry,并确认所需的图像仍然存在。但是,我们最近在 Cloud Storage 存储桶上启用了生命周期策略,以删除超过一定时间的项目。所以我最好的猜测是政策删除了 一些,但不是全部 与 gcr.io/adapt-ci/http-echo
图像相关的文件,这导致了内部错误而不是错误说容器找不到图片。
我正在尝试部署云 运行 服务作为我的开源项目测试的一部分。这是通过我们的自动化 CI/CD 系统完成的,并且之前已经成功运行了数百次。
云 运行 服务已创建,但第一个修订版从未部署。当我在 GCP 控制台中查看新创建的服务时,它显示“Cloud 运行 错误:内部系统错误,系统将稍后重试。”作为服务的主要状态消息。
失败的命令行是:
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 控制台创建最基本的云 运行 使用入门文档中的示例容器手动创建服务,同时以项目和组织所有者身份登录。我看到同样的失败。我以前使用此帐户和项目以这种方式手动创建服务,没有任何问题。
- 使用 GCP Console 在不同的项目中创建与上述相同的示例服务,但使用相同的用户和相同的组织。这工作成功,所以问题是特定于项目的。
- 我尝试了两个不同的美国地区,结果相同。
- 由于这通常是自动化的,因此我试图查找任何超出的配额。在 Cloud 运行 配额页面和整体配额页面上,我现在和历史上都没有看到任何超出配额的情况。然而,这是一个我不是很熟悉的领域,所以可能遗漏了一些东西。
- 两天重试几十次。
- 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 运行 Admin API 和 re-enable 它。更改之后,我能够使用控制台中的示例容器创建服务,并以项目所有者身份登录。我还能够使用 CLI 中的示例容器创建服务,并以 CI 服务帐户登录。但是,我的问题中的原始命令仍然具有与以前相同的行为。我不知道项目是如何进入这种状态的,以至于项目所有者无法使用 Cloud 运行.
我做的第二件事是 re-push 我试图使用 (gcr.io/adapt-ci/http-echo
) 的容器镜像到 GCR。我推送了与之前完全相同的图片。这最终让 CI 系统成功创建了服务。
作为我之前故障排除的一部分,我查看了该项目的 Google Container Registry,并确认所需的图像仍然存在。但是,我们最近在 Cloud Storage 存储桶上启用了生命周期策略,以删除超过一定时间的项目。所以我最好的猜测是政策删除了 一些,但不是全部 与 gcr.io/adapt-ci/http-echo
图像相关的文件,这导致了内部错误而不是错误说容器找不到图片。