Как автоматически масштабировать количество стручков в зависимости от нагрузки? - PullRequest
0 голосов
/ 16 ноября 2018

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

Можно ли установить количество экземпляров min pod равным 0?

Я обнаружил, что в настоящее время Kubernetes не поддерживает это, есть ли способ, которым я могу достичь этого?

Ответы [ 2 ]

0 голосов
/ 16 ноября 2018

Это не поддерживается в Kubernetes, как это поддерживается веб-серверами, такими как nginx, apache или приложениями, такими как puma , passenger , gunicorn , единорог или даже стандарт Google App Engine , где их можно мягко запустить, а затем вызвать в тот момент, когда поступает первый запрос с недостатком: ваши первые запросы всегда будут медленнее.(Возможно, за бобами Kubernetes было какое-то объяснение, что им не нужно вести себя таким образом, и я вижу множество изменений в дизайне или необходимость создания нового типа рабочей нагрузки для этого очень специфического случая)

Если модульбездействует, это не потребляет столько ресурсов.Вы можете настроить значения вашего pod resources для запроса / ограничения, чтобы запросить небольшое количество процессоров / памяти и установить ограничение на большее количество процессоров / памяти.Преимущество наличия модуля всегда в том, что ваши первые запросы никогда не будут ждать долго, чтобы получить ответ.

0 голосов
/ 16 ноября 2018

Да. Вы можете достичь этого, используя Horizontal Pod Autoscale .

См. Пример горизонтального автомоделирования стручка: Горизонтальное пошаговое руководство по автоматическому пересчету стручка

...