Sobes.tech
Back to questions
Senior
3

Можно ли в Deployment сделать последовательное обновление Pod'ов как в StatefulSet?

Companies where asked
ОТП БанкОТП Банк

Answer from AI

sobes.tech AI

В Deployment по умолчанию обновление Pod'ов происходит параллельно с контролем максимального количества одновременно обновляемых и доступных Pod'ов через параметры maxUnavailable и maxSurge. Последовательное обновление, как в StatefulSet (где Pod'ы обновляются по одному в порядке индексов), в Deployment напрямую не поддерживается.

Если нужна строго последовательная замена Pod'ов, можно:

  • Использовать StatefulSet вместо Deployment.
  • Имплементировать кастомную логику обновления вне Kubernetes.
  • Настроить maxUnavailable: 1 и maxSurge: 0 в стратегиях обновления Deployment, чтобы обновлять по одному Pod'у, но порядок не гарантируется.

Пример настройки обновления по одному Pod'у:

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

Однако это не гарантирует последовательность обновления Pod'ов по индексу, как в StatefulSet.