诊断部署 GAE flex 应用程序时的错误

Diagnosing error in deploying GAE flex app

我已经使用 GAE flex 一段时间了,突然间我的部署过程在命令行上结束了:

ERROR: (gcloud.app.deploy) Error Response: [4] Flex operation projects/MY-PROJECT/regions/us-central1/operations/xxx error [DEADLINE_EXCEEDED]: An internal error occurred while processing task /appengine-flex-v1/insert_flex_deployment/flex_create_resources>2019-09-04T21:29:03.412Z8424.ow.0: Gave up polling Deployment Manager operation MY-PROJECT/operation-xxx.

我的日志没有任何有用的信息。这些是来自部署的相关日志:

2019-09-04T14:07:07Z [2019-09-04 14:07:07 +0000] [1] [INFO] Shutting down: Master
2019-09-04T14:07:06Z [2019-09-04 14:07:06 +0000] [16] [INFO] Worker exiting (pid: 16)
2019-09-04T14:07:06Z [2019-09-04 14:07:06 +0000] [14] [INFO] Worker exiting (pid: 14)
2019-09-04T14:07:05Z [2019-09-04 14:07:05 +0000] [13] [INFO] Worker exiting (pid: 13)
2019-09-04T14:07:05Z [2019-09-04 14:07:05 +0000] [11] [INFO] Worker exiting (pid: 11)
2019-09-04T14:07:05Z [2019-09-04 14:07:05 +0000] [10] [INFO] Worker exiting (pid: 10)
2019-09-04T14:07:05Z [2019-09-04 14:07:05 +0000] [9] [INFO] Worker exiting (pid: 9)
2019-09-04T14:07:05Z [2019-09-04 14:07:05 +0000] [8] [INFO] Worker exiting (pid: 8)
2019-09-04T14:07:05Z [2019-09-04 14:07:05 +0000] [1] [INFO] Handling signal: term
2019-09-04T14:03:04Z [2019-09-04 14:03:04 +0000] [16] [INFO] Booting worker with pid: 16
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [14] [INFO] Booting worker with pid: 14
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [13] [INFO] Booting worker with pid: 13
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [11] [INFO] Booting worker with pid: 11
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [10] [INFO] Booting worker with pid: 10
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [9] [INFO] Booting worker with pid: 9
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [8] [INFO] Booting worker with pid: 8
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [1] [INFO] Using worker: sync
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [1] [INFO] Listening at: http://0.0.0.0:8080 (1)
2019-09-04T14:03:03Z [2019-09-04 14:03:03 +0000] [1] [INFO] Starting gunicorn 19.9.0

该实例存在于控制台中,看起来是 运行,但它只是 returns 一个 404。代码在本地运行良好。

关于如何诊断正在发生的事情有什么想法吗?

我想知道 Google 是否减少了默认截止日期,因为当前截止日期似乎是 4 分钟,而我的构建时间总是超过 4 分钟。

我想通了,这是一个疯狂的 Google 云错误。 TL; DR -- 不要使用 Google Cloud Organization Policy Constraints.

根据我的最佳理解,这是发生的事情:

  • 对于我的 Google 云项目,我选择了 us-central 区域。
  • 大约 6 个月前,我为我的组织设置了一个 Google 云策略限制,这样我就可以只使用美国的资源。这制定了一项政策,允许当时存在的美国资源
  • 我最近部署的 flex 应用程序正在部署到 us-central1-f 区域。我相信 Google 选择了区域,但我无法控制它。
  • 我的位置策略不允许 us-central1-f,因为在我设置位置策略时该区域不存在。
  • 这导致我的部署崩溃,问题中出现无用的错误消息。

我解决这个问题的方法是我部署了 Google 的 hello world flask 应用程序,并且在部署该应用程序时,我收到了一条更有用的错误消息,使我能够理解问题。