在app.yaml中为没有vm_settings的google cloud compute node.js app设置f1-micro资源限制

tlu*_*fer 15 google-app-engine google-compute-engine

如果不使用已弃用的vm_settings -> machine_type设置,我的Google托管虚拟机会部署为g1-small.使用Node.js app.yaml作为模板,除了memory_gb部署为f1-micro机器类型之外还需要更改什么?现在,我有

resources:
  cpu: .5
  memory_gb: .6
  disk_size_gb: 10
Run Code Online (Sandbox Code Playgroud)

并使用

gcloud preview app deploy app.yaml --set-default
Run Code Online (Sandbox Code Playgroud)

vm_settings:
  machine_type: f1-micro
Run Code Online (Sandbox Code Playgroud)

......有效,但我警告说这个设置很快就会消失.

tlu*_*fer 21

正如Jeff和Greg都回答的那样,"在选择机器类型之前,谷歌在VM上增加了一点开销.这大约是400mb的内存.所以他们告诉我你是否想要一个f1-micro尝试请求.2或更低的内存,正如Greg提到的那样".

我不得不降低到.18以使其部署为f1-micro,但谷歌增加开销的一般想法是可靠的.


ngo*_*obw 7

只想更新这篇文章.现在无法将内存设置为0.18,因为Google已记录了如何计算这些设置.

中央处理器

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

记忆

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

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

# [START app_yaml]
runtime: nodejs
env: flex

resources:
  cpu: 1
  memory_gb: 0.5
  disk_size_gb: 10
Run Code Online (Sandbox Code Playgroud)

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

有关计算的更多详细信息,请参阅资源设置.甚至还有一个你可以遵循的公式.