Все модули Kubernetes работают на одном процессоре

Все модули Kubernetes работают на одном процессоре

У моей машины 48 процессоров. Перед созданием модулей я отключаю процессоры 1-47 с помощью echo "0" > /sys/devices/system/cpuN/online.

Когда я создаю первый pod на узле, я подключаю CPU #1с помощью echo "1" > /sys/devices/system/cpu1/online. Под запускает задачу CPU stress и я вижу, CPU0что он полностью используется этим pod. Под использует 99-100% CPU.

Когда я создаю второй pod на том же узле, я в сети CPU #2 echo "1" > /sys/devices/system/cpu2/online. Но только CPU0 полностью используется CPU1и CPU2не имеет нагрузки. И оба pod работают с 50% использованием CPU.

Если я создам больше pod'ов на том же узле, они просто разделят CPU0все, что я вывел в онлайн больше CPU. Все остальные онлайн CPU просто простаивают.

Мой Kubernetes version is 1.23.12. Этого не происходит в версии 1.28. В версии 1.28все модули работают на разных ЦП с использованием 100%. Yaml модуля имеет ограничение ЦП и запрос на 1.

Я не уверен, что это ошибка в версии 1.23.12или какая-то конфигурация в ней неверна. Любые комментарии будут оценены.

решение1

CPU Manager отвечает за распределение CPUресурсов по модулям в Kubernetes. На узле CPU Manager отвечает за включение расширенных политик рабочей нагрузки. Например, в зависимости от того, ограничен ли модуль и какие ядра ЦП доступны во время планирования, он направляет несколько CPUинтенсивных модулей для распределения задач по разным ядрам ЦП.

CPU Manager находится в бета-версии с момента Kubernetes v1.12и включен по умолчанию. --cpu-manager-policyПараметр kubelet используется для определения политики CPU Manager.

ВKubernetes версии 1.23.14у них естьисправление ошибкив изменении.

Kubelet: fix GetAllocatableCPUs method in cpumanage.

Отверсия 1.26, диспетчер ЦП стал общедоступным в Kubernetes. Это означает, что функция диспетчера ЦП была признана стабильной и готова к использованию в производственных средах. Так что это может быть причиной того, что вы получаете проблему в , version 1.23.12а не в version 1.31.

Связанный контент