Что такое rolling update при выкатке новой версии?
- Как работает rolling update в Kubernetes?
Экземпляры заменяются постепенно: поднимается новый, проходит readiness, старый снимается. Сервис отвечает всё время.
- Поведение по умолчанию в Kubernetes: maxSurge и maxUnavailable
- Во время выкатки работают обе версии — нужна совместимость API и схемы
- Нужны readiness-проба и корректное завершение старых экземпляров
А ещё Blue-green — переключение комплекта целиком, canary — доля трафика с анализом метрик
Подробно
Это поведение по умолчанию в оркестраторах: дёшево по ресурсам и без простоя. Главное следствие, о котором часто забывают: во время выкатки в бою одновременно работают старая и новая версии, поэтому они обязаны быть совместимы и по API, и по схеме данных. Полное переключение целого комплекта — это blue-green, а раскатка на малую долю трафика с наблюдением за метриками — canary.
Что хотят услышать
- Механика постепенной замены.
- Сосуществование версий и требование совместимости.
- Отличие от blue-green и canary.
Частые ошибки
- Забывать о совместимости соседних версий во время выкатки.
- Путать три стратегии между собой.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Одновременная остановка всех экземпляров и запуск новой версии
- ✓Постепенная замена экземпляров небольшими группами без остановки
- ✗Запуск полной копии окружения рядом с боевым и мгновенное переключение трафика
- ✗Направление небольшой доли трафика на новую версию для сравнения метрик
Что спросят дальше
- Как выкатить изменение схемы базы без простоя?
- Чем canary отличается по радиусу поражения?
Разбор темы
- Выкатка без простоя и миграции схемы
Rolling, blue-green и canary с их ценой, отделение деплоя от релиза через feature flags, expand–contract для схемы БД, совместимость соседних версий и стратегия отката.
Связанные вопросы
- Во время rolling update в проде одновременно работают старая и новая версии сервиса. Какое требование из этого следует? Middle
- Чем canary-выкатка принципиально отличается от blue-green? Middle
- Чем SIGTERM отличается от SIGKILL и как правильно завершать сервис? Middle
- Как балансировщик понимает, что экземпляр сервиса нездоров? Middle
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.