Назад к вопросам
Junior — Middle
73
Объясните принцип работы метода обновления без остановки сервиса, известный как Rolling Update.
Компании, где спрашивали
RecruitTech
Ответ от нейросети
sobes.tech AI
Rolling Update — это метод обновления приложения или сервиса без остановки всей системы. Основная идея — постепенно заменять старые версии компонентов на новые, чтобы обеспечить непрерывную работу.
Как это работает:
- Обновление происходит поэтапно, например, по одному экземпляру сервиса за раз.
- Новый экземпляр запускается с обновлённой версией.
- После успешного запуска и проверки новый экземпляр начинает принимать трафик.
- Старый экземпляр постепенно выключается.
- Процесс повторяется для всех экземпляров, пока обновление не завершится.
Преимущества:
- Минимизация времени простоя.
- Возможность отката, если новая версия работает некорректно.
- Плавный переход без резких изменений для пользователей.
Пример в Kubernetes:
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
spec:
containers:
- name: app-container
image: my-app:v2
Здесь maxUnavailable: 1 означает, что не более одного пода может быть недоступен во время обновления, а maxSurge: 1 — что можно создать один дополнительный под сверх желаемого количества для плавного обновления.