Я начал играть с Google Cloud Run, и, по крайней мере, на первый взгляд, он выглядит фантастическим инструментом. Одна вещь, которую я не могу понять, - это как сделать откат эффективно.
Я разворачиваю свой сервис через командную строку
gcloud beta run deploy my-service --image my-image
и в идеале я хотел бы иметь возможность вернуться к предыдущей версии, если я обнаружу проблему с моим новым развертыванием.
Есть ли способ откатить или перенести трафик на конкретную ревизию?
Ответ 1 · рейтинг 2 · guillaume blaquiere
Это новая функция на управляемой платформе! Потерпи!
А пока просто разверните новую ревизию с предыдущим образом. Вы можете просматривать изображение с помощью интерфейса командной строки или пользовательского интерфейса. Получите образ с дайджестом и разверните его.
Чтобы перечислить ревизию, используйте gcloud beta run revisions list --filter <service name> --platform managed
Чтобы получить изображение вашей ревизии gcloud beta run revisions describe <revision name> --platform managed --region <region> --format 'value(status.imageDigest)'
Позаботьтесь о env var, если вы измените версию между версиями (вы также можете увидеть это в графическом интерфейсе или с помощью интерфейса командной строки)
Для перечисления переменной ревизии gcloud beta run revisions describe <revision name> --platform managed --region <region> --format 'default(spec.containers)'
Для Cloud Run на GKE вы можете обновить маршрут с помощью YAML. Начните с извлечения маршрута из CLoud Run gcloud beta run routes describe <service name> > route.yaml
Измените ревизию, указанную в конце описания:
traffic:
- percent: 100
revisionName: <revision Name>
Затем выполните kubectl apply -f route.yaml