创建 Google App Engine 服务的新实例

Create new instances of a Google App Engine Service

我有一个使用标准环境的 Google App Engine Java 11 服务。

我已经部署了,在对应的app.yaml文件中指定手动缩放,设置实例数为1。

有没有一种方法可以增加此服务的实例数而无需再次上传服务中的所有文件?

所以我有一个实例。现在我想要 2 个实例。我该怎么做?

尚未在控制台或 gcloud 实用程序中找到执行此操作的方法。 此外,仅使用修改后的 app.yaml 文件调用 gcloud app deploy 会创建损坏的服务版本。

app.yaml:

service: headergrabber
runtime: java11
instance_class: B8

manual_scaling:
  instances: 1

使用 REST API patch 手动缩放应用程序的实例数。

这是 HTTP 请求:

PATCH https://appengine.googleapis.com/v1/{name=apps/*/services/*/versions/*}

您必须通过 manualScaling.instances 字段来更新您喜欢的实例数。

这是一个 curl 示例,使用的令牌只能用于本地测试。我在我这边测试过它并且有效:

curl -X PATCH -H "Content-Type: application/json" \
-d "{ 'manualScaling': {  'instances': 2 } }" \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
https://appengine.googleapis.com/v1/apps/PROJECT-ID/services/SERVICE/versions/VERSION?updateMask=manualScaling.instances

其中:

  • PROJECT_ID = 项目 ID
  • SERVICE = 服务名称
  • VERSION = 版本名称

如果您使用 Cloud SDK,您需要登录您的帐户并设置项目,或者您可以 运行 Cloud Shell.

上的命令

另一种方法是使用 client library,这样您就可以编写可以更新您的 App Engine 实例的应用程序。

请注意,执行此操作需要在您的项目中启用 App Engine 管理员 API 。此 API 提供对 Google Cloud Console 中的多个 App Engine 管理操作的编程访问。