что делает проверка пропускной способности kubernetes? - PullRequest
0 голосов
/ 06 января 2019

В большинстве документов kubernetes объясняется, что планировщик будет проверять запрос / лимит модуля на ресурсы и пропускную способность всех узлов кластера.

Как насчет ресурсов, затрачиваемых на процессы, запущенные на локальных узлах. Проверяет ли планировщик оба ресурса, затрачиваемые всеми контейнерами kubernetes, и эти локальные процессы на узлах?

В частности, что делать, если я буду запускать тяжелые вычислительные процессы на узле kubernetes, планировщик будет делать это для расчета емкости, будет ли он подсчитывать большой кусок памяти и процессор, затраченный на локальные процессы? И будет ли он отклонять новый входящий модуль или завершать работу существующих модулей из-за увеличения стоимости ресурсов необходимым локальным узлом?

1 Ответ

0 голосов
/ 07 января 2019

Планировщик Kubernetes проверяет только наличие доступных ресурсов. Но если вы запустите на узле Kubernetes задачу, требующую огромных ресурсов, и у вас не хватит памяти, то вы столкнетесь с OOM killer , что приведет к остановке некоторых процессов и получению памяти для системы.

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

Если вы будете тратить ресурсы с узла, он будет выделяться меньше. Если у вас уже есть почти все выделенные ресурсы, а затем вы выполняете огромную задачу на узле, то OOM killer что-то убьет. Это может быть любой контейнерный демон или задача в системе, и планировщик не будет создавать новые модули на этом узле, пока не будет достаточно ресурсов.

...