Google App Engine自动扩缩容异常:设min_instances仍无法维持实例存活
解决Google App Engine标准环境Node.js实例降至0的问题
针对你设置min_instances: 1但实例仍会降到0的情况,排查和解决方向如下:
升级Node.js运行时版本
你当前使用的nodejs10已停止官方支持,旧运行时的扩缩容逻辑可能存在兼容性问题,建议升级到GAE支持的稳定版本(如nodejs20),新版本对自动扩缩容的配置解析和执行更可靠。检查应用健康检查适配情况
确保你的Node.js应用正确监听process.env.PORT指定的端口,GAE会通过健康检查判断实例是否可用。如果实例启动后无法响应健康检查请求,会被平台回收,哪怕设置了min_instances也会导致实例数降至0。示例代码:const port = process.env.PORT || 8080; app.listen(port, () => { console.log(`Server running on port ${port}`); });若你的应用默认路径
/无法返回200状态码,需在app.yaml的automatic_scaling下配置健康检查路径:automatic_scaling: # 其他配置... health_check: enable_health_check: True path: "/healthz" # 替换为你的健康检查路径 check_interval_sec: 5 timeout_sec: 4清理冗余的扩缩容参数
你同时设置了min_instances:1和min_idle_instances:1,min_instances已能保证总实例数的下限,建议移除min_idle_instances配置,避免扩缩容逻辑出现混淆。核查项目预算与配额
确认你的Google Cloud项目没有设置过低的预算限制,或实例配额不足,否则平台可能会停止实例以控制成本。
内容的提问来源于stack exchange,提问作者jimmy
相关产品推荐
相关产品推荐

