Как раскрутить стручок программно? - PullRequest
0 голосов
/ 31 марта 2020

У меня есть функция для добавления задач в разные очереди на основе запроса пользователя. После того, как задачи поставлены в очередь, некоторые работники, которые прослушивают очередь, начнут выполнять задачу.

Например, пользователь добавил 200 задач в очередь «A». Работники, которые прослушивают очередь «А», начинают выполнять задачи.

Я хочу раскрутить некоторых работников, которые прослушивают данную очередь, когда кто-то добавил задачи в очередь.

Например, пользователь добавил 200 заданий в очередь "А". Затем система создает 3 рабочих, слушающих очередь «А», и рабочие начинают выполнять задачи.

Итак, мой вопрос: как программно раскрутить несколько стручков (рабочих) в Кубернетесе? или есть ли лучшие решения для моего варианта использования?

Ответы [ 2 ]

0 голосов
/ 02 апреля 2020

Кроме уже упомянутого Knative, я бы также предложил два других варианта (перечисленных из более подходящего, на мой взгляд), которые позволили бы вам масштабировать стручки вверх / вниз программно:

  1. Горизонтальный Autoscaler Pod

Горизонтальный Autoscaler Pod автоматически масштабирует количество модулей в контроллере репликации, развертывании, наборе реплик или наборе состояний с учетом наблюдаемого использования ЦП (или с помощью пользовательских метрик) поддержка, для некоторых других предоставленных приложением метрик).

Здесь вы найдете общее руководство, показывающее, как его настроить.

Если вы решите для масштабирования на основе показателей, отличных от процессора / памяти, которые вам не понадобятся Пользовательские показатели .

Если HPA не соответствует вашим потребностям, вы можете попробовать с помощью StatefulSet .

Это руководство представляет собой введение в управление приложениями с помощью StatefulSets. Он демонстрирует, как создавать, удалять, масштабировать и обновлять модули StatefulSets.

С его помощью вы можете легко масштабировать количество реплик.

Пожалуйста, дайте мне знать, если это помогло ,

0 голосов
/ 31 марта 2020

Если рабочие модули выполняют кратковременные краткосрочные задачи, взгляните на Knative . Knative - это серверная платформа, построенная на базе kubernetes, которая раскручивает базы модулей на события, приходящие из разных источников.

Knative реализован в виде набора контроллеров, которые вы устанавливаете в своем кластере Kubernetes. Knative регистрирует свои собственные типы API в API Kubernetes, поэтому работа с ним не слишком отличается от работы с самим Kubernetes.

Knative состоит из двух независимых компонентов, которые имеют свои собственные проекты GitHub:

Собственное обслуживание: проще запускать службы без сохранения состояния в Kubernetes, упрощая автоматическое масштабирование, создание сетей и развертывание.

Knative Eventing: создание подписок на источники событий декларативно и маршрутизация событий на конечные точки Kubernetes.

You может использовать один или оба компонента в вашем кластере.

Собственные события - это система, разработанная для удовлетворения общей потребности в собственной разработке облачных вычислений и предоставляющая компонуемые примитивы для включения события позднего связывания источники и потребители событий.

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