部署到托管 VM 时是否可以指定机器类型(例如 small/micro)?

Is it possible to specify a machine type (e.g small/micro) when deploying to Managed VM?

我正在将一些简单的 Web 应用程序(基于节点的静态页面,带有一些调查问卷和极少量的后端处理)迁移到 App Engine。我让他们工作得很好。对它的简单性印象深刻!

但是,我有几个问题困扰着我。

1) 为什么GCE总是部署2台机器?有没有办法只指定 运行 1?我真的不需要冗余负载,而且我们的流量应该很少。

2) 我试图将 app.yaml 中的机器类型指定为 'micro'。说我便宜,但我们真的不需要太多容量。我尝试了各种参数,例如

resources:
  cpu: .5
  memory_gb: .2
  disk_size_gb: 10

但它似乎总是部署 'small' 台机器。某处是否有日志告诉我该命令有效,但它选择忽略它?

提前致谢。

啊哈!抱歉,通过更多的谷歌搜索,我找到了问题 2

的答案

As Jeff and Greg both replied, "Google adds a little overhead on the VM before picking a machine type. This is around 400mb of ram. So they told me if you want an f1-micro try requesting .2 or lower as Greg mentioned."

I had to drop to .18 to get it to deploy as f1-micro, but the general idea that google is adding overhead is solid.

将 memory_gb 降低到 0.18 就成功了。

只需添加

resources:
  cpu: .5
  memory_gb: .18
  disk_size_gb: 10

并使用命令部署

gcloud preview app deploy --stop-previous-version --force --promote

为了确保 #1 看起来有效 - 到目前为止性能没有损失。

您还可以指定机器类型,而不仅仅是所需的资源。通过添加到 app.yaml:

beta_settings:
  machine_type: f1-micro

此外,如果您想始终使用 1 个实例,请添加:

manual_scaling:
  instances: 1