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

Как обновить приложение так, чтобы поднялся только один новый под, и процесс остановился до ручного вмешательства?

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

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

sobes.tech AI

Чтобы обновить приложение в Kubernetes так, чтобы поднялся только один новый под, а процесс остановился до ручного вмешательства, можно использовать стратегию обновления с параметром maxUnavailable и maxSurge в Deployment.

Например, задать:

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

Это позволит поднять максимум один новый под сверх желаемого количества, не убивая старые.

Чтобы остановить процесс обновления после запуска одного нового пода, можно вручную приостановить Deployment:

kubectl rollout pause deployment/<deployment-name>

После этого обновление не продолжится, пока вы не выполните:

kubectl rollout resume deployment/<deployment-name>

Таким образом, последовательность действий:

  1. Запустить обновление с нужными параметрами.
  2. После появления одного нового пода — выполнить kubectl rollout pause.
  3. Проверить состояние и при необходимости вмешаться вручную.

Это позволяет контролировать процесс обновления и избежать одновременного поднятия нескольких новых подов.