17 февраля 2018

Приоритеты в Google Kubernetes Engine


Google добавил возможность назначить различные приоритеты приложениям внутри контейнеров Google Kubernetes Engine.

Ранее, контейнеры внутри вашего кластера Kubernetes запускались автоматически, пока есть свободное место на узлах, по принципу "первый пришёл - первый обслужен". Это приводило к тому, что при ограниченных ресурсах (фиксированном количестве узлов кластера) не самая важная нагрузка могла занять ценные ресурсы кластера, в то время, как важный ресурс, например официальный сайт организации, не мог масштабироваться для внезапного пика запросов.

Теперь, с помощью целого числа, вы можете назначить всем приложениям внутри кластера контейнеров Kubernetes свой приоритет, наиболее важными из которых являются:

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


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

3) Низший приоритет - данное приложение не может запускать новые узлы кластера, даже если кластер не достиг максимального размера, а может работать только внутри свободных мест, оставшихся от приложений высшего и среднего приоритета, на уже запущенных для приложений среднего и высшего приоритета узлах кластера.

Такой подход позволяет реализовать очень гибкие сценарии работы, особенно при использовании больших вычислительных ресурсов в научных и образовательных организациях.

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

Комментариев нет: