0
Итак, допустим, есть узел кластера с 4 ядрами ЦП.
На нем работают две капсулы. Каждый модуль устанавливает требования к ЦП: 500 м, но предел ЦП - 4000 м.
Бег kubectl
Узел описывает, что лимит ЦП составляет 8 (200%)
Я понимаю, что он требует 200%, потому что у меня есть два модуля, каждый из которых устанавливает ограничение на 4 ядра процессора.
Это просто семантика или есть потенциальная проблема? Я имею в виду, что если оба модуля должны быть увеличены до 3 ядер ЦП (ниже предела каждого из них), это было бы физически невозможно, и им пришлось бы довольствоваться меньшим.
Есть ли потенциальная проблема с суммой всех лимитов модулей, превышающей возможности ЦП их хост-узла? или просто указание на то, что было запрошено как ограничение ЦП, зная, что он может не справиться с этим - в конце концов, поды могут не знать, что друг друга находятся в одном узле.
Да, ограничение составляет 200% ЦП этого узла. Да, это перебор, у вас 4 процессора, а не 8.
ЦП легко регулировать, планировщик сокращает количество временных интервалов. Из сообщения Google о запросах ресурсов и ограничениях:
Что делать, если у вас есть узел, на котором сумма всех ограничений контейнера на самом деле превышает ресурсы, доступные на машине?
На этом этапе Kubernetes переходит к так называемой «состояние превышения предела. » Здесь все становится интересно. Поскольку ЦП можно сжать, Kubernetes позаботится о том, чтобы ваши контейнеры получили запрашиваемый ЦП, а остальное ограничит. Память не может быть сжата, поэтому Kubernetes должен начать принимать решения о том, какие контейнеры завершать, если на узле заканчивается память.
Это проблема планирования производительности и емкости. Контейнер с запросом на 500 м, но с ограничением в 4000 м может взорваться до 8-кратного минимума по расписанию. Это может быть значительным отклонением в производительности в зависимости от доступности ресурсов. Если это плохо, это зависит от того, хотите ли вы предсказуемый производительность или оппортунистический использование емкости.
Модулям не обязательно знать, что должно быть запланировано на узле, чтобы это повлияло на планирование мощности.
В целом, увеличение коэффициента переподписки затрудняет выбор правильного размера кластера и прогнозируемую производительность. Возможно, становится трудно сказать, улучшит ли производительность удвоение ваших узлов, по сравнению с тем, считает ли кто-то большее, лучше без доказательств.