Как предотвратить горизонтальное автоматическое масштабирование Kubernetes от масштабирования?

Я создал горизонтальное автоматическое масштабирование на основе использования процессора, и оно отлично работает. Я хочу знать, как настроить автомасштабирование таким образом, чтобы оно просто масштабировалось без уменьшения масштаба? Причина, по которой я хочу этого, заключается в том, что когда у меня высокая нагрузка/запрос, я создаю несколько операторов, но я хочу сохранить их живыми, даже если в течение некоторого времени они ничего не делают, но автомасштабирование убивает модули и уменьшает масштаб до минимальные реплики через какое-то время, если нет нагрузки.

Мой автоскейлер:

apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
  name: gateway
  namespace: default
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: gateway
  minReplicas: 1
  maxReplicas: 10
  targetCPUUtilizationPercentage: 20

Редактировать: Под оператором я подразумеваю небольшие приложения/программы, работающие в модуле.

Что вы имеете в виду под операторами? Это платформа для выполнения шагов постобработки для контейнеров с отслеживанием состояния?

Malathi 05.07.2019 15:29

Почему бы вам просто не заблокировать минимальное количество модулей на том значении, которое вы хотите иметь? У вас может быть другая проблема, если ваш targetCpu равен 20... вы можете использовать другое значение в качестве цели масштабирования....

night-gold 05.07.2019 15:57

Я отредактировал свой вопрос и добавил, что я имею в виду под оператором. @night-gold Я не хочу резервировать ресурсы и хочу масштабировать только тогда, когда мне это нужно, но я хочу сохранить те небольшие программы, которые работают в увеличенном модуле, на случай, если они мне снова понадобятся, например, в 10-20 минут. Я нашел эти флаги: --horizontal-pod-autoscaler-downscale-stabilization и --horizontal-pod-autoscaler-downscale-delay, которые, я думаю, могут помочь решить мою проблему. Эти 20 предназначены только для тестирования и сравнительного анализа, а не для производства.

AVarf 05.07.2019 16:26

@AVarf ты понял, как добавить horizontal-pod-autoscaler-downscale-delay в шлем?

Tommy 03.03.2022 17:01
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
4
4
4 541
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете добавить флаг --horizontal-pod-autoscaler-downscale-stabilization в kube-controller-manager, как описано в документах. Задержка по умолчанию установлена ​​на 5 минут.

Чтобы добавить флаг в редактирование kube-controller-manager /etc/kubernetes/manifests/kube-controller-manager.yaml на главном узле, модуль будет воссоздан.

есть ли способ добавить это в руль?

Tommy 03.03.2022 17:01

Другие вопросы по теме