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

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

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

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее