Sobes.tech
Back to questions
Middle+
1

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

Companies where asked
VKVK

Answer from AI

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

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