Невозможно обновить виртуальную машину с помощью приложения nodejs в Google App Engine

Когда я пытаюсь выполнить развертывание из интерфейса командной строки gcloud, я получаю следующую ошибку.

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

и я успешно вошел в систему и имею правильный идентификатор проекта. Я вижу новую версию, созданную в облачной консоли для App Engine, но после этого появляется ошибка.

В журнале stdout я вижу, что оба экземпляра работают с последним оператором console.log, который я поместил в приложение после того, как оно начинает прослушивать порт, но в shutdown.log я вижу "приложение было нездоровым", а в системном журнале я вижу "ВНИМАНИЕ".: никогда не получал здоровый ответ от приложения, но все равно отправлял /_ah/start запрос."

1 ответ

Из моего опыта работы с nodejs с использованием Google Cloud App Engine я вижу, что "Превышение времени ожидания при создании виртуальных машин" не является традиционным временем ожидания и не связано с созданием виртуальных машин. Я обнаружил, что другие ошибки были зарегистрированы во время запуска сервера - что происходит сразу после создания виртуальных машин. Поэтому я рекомендую проверить вывод консоли, чтобы узнать, говорит ли он вам что-нибудь.

Чтобы увидеть вывод консоли:

  • Для экземпляра vm перейдите в /your/ vm instance и выберите нужный экземпляр vm, затем прокрутите вниз и нажмите " Вывод последовательной консоли ".
  • Для ведения журнала консоли stdout перейдите на страницу "Мониторинг / ваш / logs", а затем измените раскрывающийся список типов журналов с " Запрос на получение stdout".

Я нашел различия в process.env при запуске локально против в облаке. Я надеюсь, что вы найдете свое решение тоже - удачи!

Другие вопросы по тегам