App Engine Flex konnte Ressourcen nicht konfigurieren

App Engine Flex konnte Ressourcen nicht konfigurieren

In den letzten 2 Tagen hatten wir ein Bereitstellungsproblem. Die App wurde vorher einwandfrei bereitgestellt. Wir haben keine Änderungen vorgenommen app.yaml.

Übliche Dinge tun wiegcloud 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

Der Build läuft wie üblich, schlägt jedoch am Ende mit einem Fehler fehl:

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-Version:

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 

Antwort1

Dies hängt möglicherweise mit einer aktuellen Version im Zusammenhang mit dem enable_health_check: falseParameter für Anwendungen zusammen, bei denen split_health_checksdiese aktiviert sind.

Könnten Sie versuchen, mit enable_health_check: truedemBefehl:

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

Antwort2

Entsprechend derDokumente:

... Aktualisierte Integritätsprüfungensind feinkörniger und ermöglichen Ihnen die Verwendung separater Prüfungen, um zu bestätigen, dass Ihre App Engine-Instanz ausgeführt wird (live) und bereit ist, Inhalte bereitzustellen (bereit). Diese Integritätsprüfungen sind standardmäßig aktiviert.

Im Grunde bedeutet dies, dass es nicht notwendig ist, einzuschließen enable_health_check: False. Lassen Sie diese beiden Zeilen einfach weg, wenn Sie keine älteren Integritätsprüfungen verwenden möchten.

Wenn Sie andererseitsLegacy-Integritätsprüfungenführen Sie den folgenden Befehl aus:

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

und fügen Sie Ihrer Konfigurationsdatei einen Abschnitt zur Integritätsprüfung hinzu:

health_check:
  enable_health_check: True

  check_interval_sec: 5

  timeout_sec: 4
  unhealthy_threshold: 2
  healthy_threshold: 2

verwandte Informationen