问题:
我正在部署一个 appengine 标准服务 - nodejsv10。但是,在流量迁移到新版本后,旧版本仍在运行,实例数列为 2 或 1。过去一周内,有多个部署在 24 小时以上没有收到流量,这种情况仍然存在(因此我认为这不是控制台延迟刷新问题)。
我不想为这些实例付费,因为我不需要它们。手动删除这些旧版本似乎是一种愚蠢的用户体验。
部署命令:gcloud beta app deploy
应用程序.yaml
env: standard
instance_class: F4
inbound_services:
- warmup
automatic_scaling:
min_idle_instances: 1
max_idle_instances: 1
min_pending_latency: automatic
max_pending_latency: automatic
max_concurrent_requests: 15
min_instances: 1
答案1
在阅读了更多文档后,我想我找到了解决方法。我删除了min_instances
并保留了min_idle_instances
。由于min_instances
强制实例处于活动状态,而不管流量如何,并且min_idle_instances
仅适用于接收大部分流量的版本。我正在测试这个,如果不起作用会报告。
https://cloud.google.com/appengine/docs/standard/nodejs/config/appref#automatic_scaling
最小实例数
App Engine 为该模块版本创建的最小实例数。这些实例在请求到达时处理流量,并且即使根据需要启动了其他实例来处理流量,仍会继续处理流量。请注意,无论这些实例是否接收流量,您都需要为指定的实例数付费。
最小空闲实例数
保持运行并准备处理流量的实例数。请注意,无论实例是否接收流量,您都需要为指定的实例数付费。此设置仅适用于接收大部分流量的版本。