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

ajk*_*ein 5 google-app-engine node.js 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.
Run Code Online (Sandbox Code Playgroud)

我的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
Run Code Online (Sandbox Code Playgroud)

我已成功登录并拥有正确的项目ID.我看到在App Engine的云控制台中创建了新版本,但错误似乎就在此之后.

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

Mar*_*ska 3

根据我使用 Google Cloud App Engine 使用 Nodejs 的经验,我发现“创建虚拟机超时”既不是传统的超时,也与创建虚拟机无关。我发现在服务器启动期间报告了其他错误——这恰好是在创建虚拟机之后。因此,我建议检查控制台输出,看看它是否告诉您任何信息。

要查看控制台输出:

  • 对于虚拟机实例,请转到/your/ 虚拟机实例并单击所需的虚拟机实例,然后向底部滚动并单击“串行控制台输出”。
  • 对于 stdout 控制台日志记录,请监视 /your/ 日志,然后将日志类型下拉列表从Request更改为stdout

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