#google-app-engine #google-cloud-platform
#google-app-engine #google-облачная платформа
Вопрос:
Я новичок в Google Cloud.
Наш проект был развернут в Google Cloud. Мы используем команды развертывания gcloud для развертывания любой сборки, и у нас все хорошо.
Мой вопрос: что, если моя текущая сборка завершится неудачей во время производственного развертывания, и приложение использует множество пользователей.
Итак, как я могу немедленно обновить предыдущее изображение / сборку в GCP? Я попробовал это с помощью pull docker и нажал на него, а затем отправил с помощью команды «gcloud build submit»… но он не развертывает фактический указанный образ docker, он развертывает ту папку, в которой я запускаю команды «gcloud build submit»..
Пожалуйста, поделитесь своими предложениями..
Комментарии:
1. Какой продукт вы используете?
2. продукт означает?
3. Где вы размещаете свою рабочую нагрузку? На вычислительном движке? При запуске в облаке? На движке приложений?….
4. В App Engine..
5. @guillaumeblaquiere На самом деле, что мне нужно, у нас уже есть существующая производственная среда, и мы новички в развертывании Google Cloud App Engine… Итак, я знаю, как развернуть наши новые изменения в gcloud.. но это рискованно для нас, потому что это первый раз… мы просто хотим знать о шагах отката .. если что-то пойдет не так, мы сможем отменить предыдущую сборку в Google cloud .. таким образом, любой пользователь может застрять в live
Ответ №1:
Ваша забота о том, чтобы не сломать всех пользователей при развертывании устаревшей версии, вполне обоснованна, и вы не одиноки!!
Вот почему в App Engine (а также в Cloud Run) существует интересная функция: разделение трафика.
Чтобы использовать его эффективно, вы можете развернуть свою новую версию в рабочей среде следующим образом:
gcloud app deploy --no-promote
Здесь развертывается новая версия, но на нее направляется 0% трафика. Теперь используйте эту команду для увеличения трафика, допустим, 1%
gcloud app services set-traffic <YOUR_SERVICE> --splits <OldVersionName>=99,<NewVersionName>=1
Понаблюдайте за своим приложением некоторое время и, если ошибок нет, продолжайте постепенно увеличивать трафик, пока он не станет уверенным и маршрутизируемым на 100%.%
В случае плохой версии установите трафик на 0% к новой версии и теперь / или низкое воздействие на ваших пользователей.
Комментарии:
1. позвольте мне попробовать это, я надеюсь, что это сработает .. большое спасибо, что поделились этим