Ваше развертывание не работает, поскольку HA (высокая доступность) недоступна при использовании бэкэнда хранилища s3. Для этого вам понадобится консул Hashicorp, DynamoDB AWS или другой бэкэнд-провайдер. Измените количество реплик на 1, если вы придерживаетесь бэкэнд-провайдера s3.
Что касается того, почему вы видите 4 пакета вместо 3, вам нужно предоставить более подробную информацию. Вставьте вывод kubectl get pods -l app=vault
, а также kubectl describe deploy -l app=vault
, и я обновлю этот ответ.
Я могу только предположить, что это стоит. У объектов развертывания есть свойство maxSurge
, которое позволяет масштабировать обновления до уровня, превышающего желаемое количество реплик. По умолчанию округляется до 25%, что в вашем случае будет дополнительным 1 стручком.
Максимальный всплеск
.spec.strategy.rollingUpdate.maxSurge
- это необязательное поле,
указывает максимальное количество модулей, которое может быть создано в течение
желаемое количество стручков. Значение может быть абсолютным числом (для
например, 5) или процент желаемых стручков (например, 10%).
значение не может быть 0, если MaxUnavailable равно 0. Абсолютное число равно
рассчитывается от процента путем округления в большую сторону. Значением по умолчанию является
25%.
Например, если для этого значения установлено значение 30%, новый ReplicaSet может быть
сразу же после запуска обновления обновления, так что
общее количество старых и новых Бобов не превышает 130% желаемых Бобов.
Как только старые Бобы были убиты, новый Набор Реплики может быть увеличен
далее, гарантируя, что общее количество модулей работает в любое время
во время обновления - не более 130% желаемых модулей.
Возможно, что удаление одного модуля Running (1/1)
вместе с состоянием NotReady других модулей привело к тому, что ваше развертывание перешло в состояние «непрерывного обновления» или что-то в том же духе, что позволило вашему развертыванию масштабироваться до maxSurge
настройка.