Google App Engine如何正确部署应用程序

Nik*_*kov 1 python google-app-engine google-compute-engine google-cloud-platform

我正在尝试使用以下命令来部署我的python应用程序

gcloud config set project proj-name
gcloud config set account 111@1111.com
gcloud preview app deploy app.yaml
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

超出CPU配额:使用中:8,要求:2,限制:8

为什么Google App引擎会创建这么多VM实例?如何正确部署我的应用程序?有人可以逐步向我解释吗?我只是分析师,而不是网络开发人员。

Bil*_*rin 7

它创建这么多实例的原因是因为每次部署时都在创建一个新版本。如果您输入

gcloud preview app versions list
Run Code Online (Sandbox Code Playgroud)

您可以在Cloud控制台中查看它们。您可以删除一些旧的。停止此操作的一种简单方法是始终停止先前的版本:

gcloud preview app deploy --stop-previous-version
Run Code Online (Sandbox Code Playgroud)

或者,您可以重新部署到同一版本:

gcloud preview app deploy --version=staging
Run Code Online (Sandbox Code Playgroud)

并且如果该版本是接收流量的版本,它将按预期运行。

该工具能够正常工作的原因是,这些人希望部署新版本并在将流量重定向到该版本之前确认它是可以的,并且能够在出现问题时快速回滚到以前的版本。对于新来者来说可能会有些混乱。

另外,根据您的帖子,您正在使用App Engine Flexible,该引擎实际上创建了要提供服务的VM实例。如果您想降低使用量,则可以将您的应用程序限制为仅一个实例(可能不是生产所需的实例,也可能是开发所需的实例)。为此,请将其添加到您的app.yaml中:

# Lock instances to 1
manual_scaling:
    instances: 1
Run Code Online (Sandbox Code Playgroud)

如果您还有其他问题,请发表评论。