无法使用Google App Engine上的nodejs应用更新VM

时间:2015-10-30 20:23:47

标签: 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-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 Console的云控制台中创建了新版本,但错误发生在它之后。

在stdout日志中,我看到两个实例都跟上了我在应用程序开始监听端口后放入的最后一个console.log语句,但是在shutdown.log中我看到“app is unhealthy”,在syslog中我请参阅“警告:从来没有从应用程序获得健康的响应,但无论如何发送/ _ah / start查询。”

1 个答案:

答案 0 :(得分:3)

根据我使用Google Cloud App Engine的nodejs的经验,我看到"超时创建虚拟机"既不是传统的超时也不是与创建VM有关。我发现在启动服务器期间报告了其他错误 - 这恰好是在创建虚拟机之后。因此,我建议检查控制台输出,看它是否告诉你任何事情。

要查看控制台输出:

  • 对于vm实例,然后转到/your/ vm instances并单击所需的vm实例,然后向下滚动并单击" 串行控制台输出"。
  • 对于stdout控制台日志记录,请转到monitoring /your/ logs,然后将日志类型下拉列表从请求更改为 stdout

我在本地运行时发现process.env与云中的差异。我希望你找到你的解决方案 - 运气好!