0

Ich versuche zu implementieren, um meine Python-Anwendung bereitstellen, indem Sie die folgenden BefehleGoogle App Engine, wie man richtig eine App

gcloud config set project proj-name 
gcloud config set account [email protected] 
gcloud preview app deploy app.yaml 

und ich erhalte den folgenden Fehler:

CPU Quota Exceeded: in use: 8, requested: 2, limit: 8

Warum funktioniert das Google App Engine erstellt so viele VM-Instanzen? Wie kann ich meine App korrekt bereitstellen? Kann mir das jemand Schritt für Schritt erklären? Ich bin nur ein Analyst, kein Webentwickler.

Antwort

4

Der Grund dafür, dass so viele Instanzen erstellt werden, liegt darin, dass Sie bei jeder Bereitstellung eine neue Version erstellen. Wenn Sie

gcloud preview app versions list 

eingeben, können Sie sie oder in der Cloud-Konsole anzeigen. Sie können einige der alten löschen. Eine einfache Möglichkeit, dies zu stoppen ist, immer die vorherige Version zu stoppen:

gcloud preview app deploy --stop-previous-version 

Oder Sie könnten auf die gleiche Version erneut bereitstellen:

gcloud preview app deploy --version=staging 

und, falls diese Version ist die eine Verkehr empfangen, es wird arbeite so, wie du es erwartest.

Der Grund dafür, dass die Tools so funktionieren, ist für Benutzer, die eine neue Version bereitstellen und überprüfen möchten, ob sie den Datenverkehr umleiten und schnell auf frühere Versionen zurücksetzen können, wenn etwas schief geht. Es kann für Neuankömmlinge etwas verwirrend sein.

Basierend auf Ihrem Post verwenden Sie auch App Engine Flexible, mit der tatsächlich VM-Instances erstellt werden, von denen Sie bedienen können. Wenn Sie Ihre Nutzung einschränken möchten, können Sie Ihre App auf nur eine Instanz beschränken (wahrscheinlich nicht das, was Sie in der Produktion wünschen, sondern vielleicht, was Sie in der Entwicklung haben wollen). Um dies zu tun, fügen Sie dies zu Ihrer app.yaml:

# Lock instances to 1 
manual_scaling: 
    instances: 1 

Hinterlasse einen Kommentar, wenn Sie weitere Fragen haben.