Sobes.tech
Назад к вопросам
Middle+
2

Как Kubernetes обновляет Deployment при применении новой конфигурации (rolling update)?

Компании, где спрашивали
VKVK

Ответ от нейросети

sobes.tech AI

Kubernetes при обновлении Deployment использует стратегию rolling update, которая позволяет постепенно заменить старые Pod'ы новыми без простоя приложения.

Основные шаги:

  1. Создается новая ReplicaSet с обновленной конфигурацией.
  2. Постепенно уменьшается количество Pod'ов в старом ReplicaSet и увеличивается в новом, обычно по одному или по заданному параметру maxUnavailable и maxSurge.
  3. Kubernetes следит за состоянием новых Pod'ов, ожидает их готовности (readiness), прежде чем удалять старые.
  4. Если новые Pod'ы не становятся Ready, обновление приостанавливается (rollback возможен).

Пример параметров в Deployment для управления обновлением:

strategy:
  type: RollingUpdate
  rollingUpdate:
    maxUnavailable: 1
    maxSurge: 1

Таким образом, обновление происходит плавно, без остановки сервиса, с контролем доступности и возможностью отката.