Appengine застрял на "Обновление службы [по умолчанию]..."

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

Вот шаги, чтобы воспроизвести.

  1. gcloud --project "{appname}" preview app deploy

  2. логи показывают npm инсталляцию, сборку контейнера и т. д.

  3. Висит на Updating service [default]... на 5 минут

  4. Сбой с ошибкой.

ОШИБКА: (gcloud.preview.app.deploy) Ответ об ошибке: [13] Истекло время ожидания при запуске виртуальных машин. Возможно, код приложения вреден для здоровья. (0/1 готово, 1 еще развернуто).

Я попытался вернуть репозиторий, когда у нас были стабильные развертывания, и это не помогло. Это заставляет меня думать, что что-то на GCP не работает.

Я попытался удалить все текущие версии и затем развернуть, но безрезультатно.

2 ответа

Решение

Когда вы получаете эту ошибку, вы можете взглянуть на crash.log в Cloud Console Logs Viewer (Logging -> Logs) для вашей конкретной службы / версии, которая обычно точно сообщает вам, что произошло. В моем случае, когда я воспроизводил ту же ошибку, crash.log показывает мне вывод NPM, который говорит мне, что у меня есть "SyntaxError: Неожиданный идентификатор".

YMMV, конечно, но это может сказать вам, связана ли проблема с кодом вашего приложения или происходит что-то более зловещее.

Ответ для меня был другим... Версия начала создаваться, но никогда не заканчивала процесс создания. Этот сценарий виден, если вы заходите в журналы для своей службы AppEngine (отметьте все опции, чтобы увидеть ВСЕ журналы), и вы можете заметить "Контейнер вызвал exit(1)".

В моем случае я обнаружил, что запуск "gcloud init" для сброса моих учетных данных помог.Надеюсь, это поможет кому-то еще.

Поцарапайте это... Я обнаружил, что API Cloud Build отстал очень медленно. Это происходило последние пару часов. Я только что заметил, что 4 версии выскакивают в мою приборную панель одновременно с предыдущих часов вечера. Видимо, нет возможности отменить предыдущие развертывания? По иронии судьбы, как только служба сборки Google отстает, все, вероятно, начинают рассылать спам / повторять попытки, и проблема усугубляется... так плохо.

Убедитесь, что ваш package.json имеет этот раздел

"cloud-repo-tools": {
"test": {
  "app": {
    "msg": "Hello, world!"
  }
},
"requiresKeyFile": true,
"requiresProjectId": true
}

с разделом "msg", содержащим некоторую строку, которую может проверить проверка работоспособности. Я не смог найти документацию для этого, поэтому, если кто-то еще это сделает, я бы с удовольствием посмотрел это.

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