Sobes.tech
Назад к вопросам
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 — что можно создать один дополнительный под сверх желаемого количества для плавного обновления.