python - 谷歌应用引擎如何正确部署应用程序

标签 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

我收到以下错误:

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

为什么 google app engine 会创建这么多虚拟机实例? 如何正确部署我的应用程序? 有人可以一步一步地向我解释这个吗?我只是一名分析师,而不是网络开发人员。

最佳答案

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

gcloud preview app versions list

您可以看到它们,或者在云控制台中。您可以删除一些旧的。停止这种情况的一种简单方法是始终停止以前的版本:

gcloud preview app deploy --stop-previous-version

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

gcloud preview app deploy --version=staging

如果该版本是接收流量的版本,它将按您预期的方式工作。

该工具之所以如此工作,是因为人们想要部署新版本并在将流量重定向到新版本之前验证它是否正常,并且如果出现问题能够快速回滚到以前的版本。对于新手来说,这可能有点令人困惑。

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

# Lock instances to 1
manual_scaling:
    instances: 1

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

关于python - 谷歌应用引擎如何正确部署应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37381694/

相关文章:

google-compute-engine - 我应该在 GCE 上期望什么网络带宽?

java - ANTLR4 中 Python 解释器的缩进管理

python - Flask:在此服务器上找不到请求的 URL

python - 使用 pickle 保存修改后的列表时出现问题

java - 使用注册用户登录时 Servlet 会崩溃,但注册帐户后自动登录时不会崩溃

javascript - 合金钛和谷歌云端点

java - 使用 GAE 生成字符串 ObjectId

google-cloud-platform - Google Cloud Compute Engine 未激活交换内存且无法通过 ssh 修复

python - 不同线程的输出分离

google-compute-engine - GCE - HTTP 负载平衡返回错误 502(错误的网关) - 仅当通过 C# 发布时