App Engine Flex 无法配置资源

App Engine Flex 无法配置资源

在过去的两天里,我们一直被部署问题困扰。应用程序之前部署得很完美。我们没有对其进行任何更改app.yaml

做一些平常的事情,比如gcloud app deploy app.yaml

service: subscriber
runtime: nodejs
env: flex

env_variables:
  SCRIPT: subscriber.js
  LOG_LEVEL: info

health_check:
  enable_health_check: false

resources:
  memory_gb: 4

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 40
  cpu_utilization:
    target_utilization: 0.75

构建正常进行,但最后失败并出现错误:

34b3438ad618: Layer already exists
de5e96f3b52d: Layer already exists
21df82f90a72: Layer already exists
0529bceacd9f: Layer already exists
3578a2f7453e: Pushed
94aa0c608f65: Pushed
latest: digest: sha256:3addb3a35b43dc5c45ebc86ad10c7f8c7b4408c781095fd819bd94ac8d7b497b size: 2417
DONE
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Updating service [subscriber] (this may take several minutes)...failed.                                                                                                                                                        
ERROR: (gcloud.app.deploy) Error Response: [13] App Engine Flex failed to configure resources.

Gcloud 版本:

gcloud version
Google Cloud SDK 189.0.0
alpha 2017.09.15
beta 2017.09.15
bq 2.0.29
core 2018.02.12
gcloud 
gsutil 4.28
kubectl 

答案1

enable_health_check: false这可能与最近发布的与已启用的应用程序参数相关的版本有关split_health_checks

您可以尝试部署enable_health_check: true或运行命令

gcloud app update --no-split-health-checks

答案2

根据文档

... 更新的健康检查更加细粒度,允许您使用单独的检查来确认您的 App Engine 实例正在运行(实时)并准备好提供内容(就绪)。这些健康检查包括 默认启用

这基本上意味着不需要包含enable_health_check: False。如果您不想使用旧式健康检查,只需省略这两行。

另一方面,如果你想使用遗留健康检查,运行命令:

gcloud app update --no-split-health-checks

并在您的配置文件中添加健康检查部分:

health_check:
  enable_health_check: True

  check_interval_sec: 5

  timeout_sec: 4
  unhealthy_threshold: 2
  healthy_threshold: 2

相关内容