Ограничение числа стручков, создаваемых каждую секунду в развертывании - PullRequest
2 голосов
/ 04 апреля 2020

Я использую Kubernetes для создания развертывания с тысячами небольших клиентов. Однако мой сервер, к которому подключаются эти клиенты, не может обрабатывать столько запросов одновременно. Кто-нибудь знает, как в Kubernetes создать только 100 пакетов в минуту, подождать, пока они в состоянии готовности, а затем создать следующие 100.

1 Ответ

1 голос
/ 05 апреля 2020

Нет такой прямой опции в K8s 1.18. Здесь связана проблема github . Некоторые возможные обходные пути:

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

  • реализует произвольно настраиваемую задержку внутри вашего клиента (или с облегченной оболочкой), чтобы распределить нагрузку во времени, в зависимости от общего времени запуска настенных часов ваших клиентов 1000s и мощности сервера

  • внедрить агент пользовательских метрик с pod is ready проверить для масштабирования развертывания с HorisontalPodAutoscaler как вам нужно и использовать Политики масштабирования для создания 100 пакетов в минуту
  • реализовать свой собственный автоматический скалер
...