В Kubernetes, нам все еще нужен многопроцессный / gunicorn? - PullRequest
1 голос
/ 05 апреля 2019

В машинно-ориентированном развертывании, как правило, люди используют gunicorn для увеличения количества рабочих для обслуживания входящих запросов.(да, worker_class будет дополнительно определять поведение внутри рабочего процесса)

При развертывании в кластере Kubernetes мы все равно gunicorn (или, если быть точным, нам все еще нужно многопроцессное развертывание)?

По сути, каждый работающий контейнер является процессом (в конфигурации «один контейнер на модуль»).Несколько пакетов, работающих за службой, уже эквивалентны тому, что может предложить gunicorn.Другими словами, полагайтесь на службу Kubernetes вместо gunicorn

Требуется ли еще gunicorn?

Да, модуль не совсем то же самое, что процесс (некоторые издержки в каждом модуледля контейнера-компаньона), но кроме этого, все, что мы можем упустить из-за отсутствия gunicorn?

Отредактировано

Пояснение: да, все еще нужно gunicorn или другое wsgihttp сервер для запуска приложения python.Мой вопрос действительно касается аспекта multiprocess (как multiprocess / gunicor в заголовке).

Ответы [ 2 ]

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

Gunicorn используется для обслуживания приложений WSGI (интерфейс веб-шлюза), поэтому он является сервером, а не просто инструментом многопроцессорной оркестровки.Kubernetes на руке - это оркестровочный инструмент, который помогает управлять инфраструктурой.Он не говорит по HTTP и ничего не знает о спецификациях WSGI.Другими словами, вы не можете запускать приложения WSGI на пустых блоках kubernetes, вам все равно понадобится сервер WSGI, например, Gunicorn, uWSGI и т. Д. Для обслуживания приложения.

0 голосов
/ 05 апреля 2019

Нужно ли еще оружие?

Это не нужно на самом деле.Kubernetes может обрабатывать масштабирование вверх и вниз (контейнеры / контейнеры) так же, как Gunicorn использует, например, HPA или VPA , в сочетании с другими вещами, такими как кластерный автоскалер .

Тот факт, что вам это не нужно, вам не нужно, вы не можете использовать огнестрельное оружие.Вы можете прекрасно иметь несколько процессов в модуле / контейнере, контролируемых ограничениями ресурса .Имейте в виду, что менеджер ресурсов Kubernetes в конечном итоге определит, какой запрашиваемая и верхняя граница для ресурса будет для ваших контейнеров (работающих в модуле).

...