Развертывание Kubernetes с помощью стратегии Recreate и maxSurge? - PullRequest
2 голосов
/ 27 апреля 2020

Сводка

Можно ли дать развертыванию стратегию развертывания Recreate, а также установить фиксированное значение maxSurge для развертывания?

Подробнее

Я занимаюсь разработкой приложения, которое работает в Kubernetes. Бэкэнд будет иметь несколько реплик и запускает EF Core с миграцией базы данных. Я понимаю, что есть несколько способов решить эту проблему; вот моя идея на данный момент.

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

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

  • .spec.strategy.type==Recreate и
  • .spec.strategy.rollingUpdate.maxSurge==1

Возможно ли использовать эти два вместе? Если нет, есть ли способ контролировать, сколько реплик будет запускать контроллер одновременно с помощью стратегии Recreate?

«Нет! Вы должны сделать это совершенно по-другому!»

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

1 Ответ

4 голосов
/ 27 апреля 2020

Statefulset может помочь вам в этом случае.

StatefulSets are valuable for applications that require one or more of the following.
  • Стабильные уникальные сетевые идентификаторы.
  • Стабильное постоянное хранилище.
  • Упорядоченное, изящное развертывание и масштабирование.
  • Упорядоченные автоматические обновляемые обновления.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...