Node.js 无法在Google应用程序引擎上使用nodejs应用程序更新VM
当我尝试从gcloud CLI部署时,出现以下错误Node.js 无法在Google应用程序引擎上使用nodejs应用程序更新VM,node.js,google-app-engine,gcloud,managed-vm,google-managed-vm,Node.js,Google App Engine,Gcloud,Managed Vm,Google Managed Vm,当我尝试从gcloud CLI部署时,出现以下错误 Copying files to Google Cloud Storage... Synchronizing files to [gs://staging.logically-abstract-www-site.appspot.com/]. Updating module [default]...\Deleted [https://www.googleapis.com/compute/v1/projects/logically-abstract
Copying files to Google Cloud Storage...
Synchronizing files to [gs://staging.logically-abstract-www-site.appspot.com/].
Updating module [default]...\Deleted [https://www.googleapis.com/compute/v1/projects/logically-abstract-www-site/zones/us-central1-f/instances/gae-builder-vm-20151030t150724].
Updating module [default]...failed.
ERROR: (gcloud.preview.app.deploy) Error Response: [4] Timed out creating VMs.
我的app.yaml是:
runtime: nodejs
vm: true
api_version: 1
automatic_scaling:
min_num_instances: 2
max_num_instances: 20
cool_down_period_sec: 60
cpu_utilization:
target_utilization: 0.5
我已成功登录并拥有正确的项目ID。我看到了在云控制台中为App Engine创建的新版本,但错误似乎就在这之后
在stdout日志中,我看到这两个实例在应用程序开始监听端口后,最后一个console.log语句出现在应用程序中,但在shutdown.log中,我看到“app不健康”,在syslog中,我看到“警告:从未从应用程序获得正常响应,但仍在发送/_ah/start查询。”根据我使用Google Cloud App Engine使用NodeJ的经验,我发现“创建虚拟机超时”既不是传统的超时,也与创建虚拟机无关。我发现在服务器启动期间报告了其他错误——这恰好是在创建虚拟机之后。所以,我建议检查控制台输出,看看它是否告诉您什么 要查看控制台输出,请执行以下操作:
- 对于vm实例,请转到并单击所需的vm实例,然后向底部滚动并单击“串行控制台输出”
- 对于stdout控制台日志记录,请转到,然后将日志类型下拉列表从Request更改为stdout
我发现在本地运行时与在云中运行时,
process.env
有所不同。我希望你也能找到解决办法——祝你好运 嘿,这是周末的一个生产问题造成的。现在应该修好了。我想我可能已经弄明白是什么原因造成的。事实证明,尽管我的应用程序在本地运行良好,但它在docker映像中立即崩溃。这似乎会导致GCE实例无休止地旋转,在gcloud部署的情况下,最终会超时。希望有帮助@dlorenc我认为你是对的,谢谢你的回复,很抱歉我直到现在才注意到可能是健康检查处理程序没有配置,查看OP问题中发布的shutdown.log信息