在 app.yaml 中为没有 vm_settings 的 google 云计算 node.js 应用程序设置 f1-micro 资源限制

Setting f1-micro resource limits in app.yaml for google cloud compute node.js app without vm_settings

在不使用已弃用的 vm_settings -> machine_type 设置的情况下,我的 Google 托管 VM 部署为 g1-small。使用 Node.js app.yaml 作为模板,除了 memory_gb 之外我还需要更改什么才能部署为 f1-micro 机器类型?目前,我有

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

并使用

部署
gcloud preview app deploy app.yaml --set-default

正在做

vm_settings:
  machine_type: f1-micro

...有效,但我被警告此设置很快就会消失。

Jeff 和 Greg 都回复了,"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 memory as Greg mentioned."

我不得不降到 .18 才能将其部署为 f1-micro,但是 google 增加开销的总体想法是可靠的。

只想更新这个post。现在不可能将内存设置为 0.18,因为 Google 已经记录了如何计算这些设置。

CPU

对于cpu,您现在只能设置1或2到32之间的偶数(即2、4、6、8 .. 32)

内存

对于 memory_gb,Google 表示每个内核的最小内存为 0.9GB,其中包括约 0.4GB 的开销 Google 个进程要求。因此,您可以请求 0.5GB 及以上的内存来满足该要求。 0.18 将不再适用,部署期间会抛出错误。

所以我的 app.yaml 目前看起来像这样:

# [START app_yaml]
runtime: nodejs
env: flex

resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10

我知道问题是设置 f1-micro 资源限制,但根据当前文档,这似乎是不可能的。

详细计算方法请参考Resource settings。 您甚至可以遵循一个公式。