Динамическое резервирование ресурсов
Статья создана
Обновлена 30 января 2024 г.
Узлу необходимы ресурсы для запуска компонентов Kubernetes, которые отвечают за функционирование узла как части кластера Kubernetes. Поэтому может возникать несоответствие между итоговым количеством ресурсов вашего узла и ресурсами, выделенными узлу для выполнения рабочих нагрузок в кластере Kubernetes.
Некоторые узлы, которые требуют большего количества зарезервированных ресурсов:
- Узлы более мощной конфигурации, которые могут запускать больше контейнеров и, как следствие, больше подов, что приводит к резервированию большего количества ресурсов.
- Узлы с Windows Server. Они требуют больше ресурсов, чем узел с Linux, так как нуждаются в дополнительных ресурсах для обеспечения работы операционной системы Windows и компонентов Windows Server, которые не могут работать в контейнерах.
Чтобы посмотреть ресурсы узла, зарезервированные для компонентов Kubernetes, выполните команду:
kubectl describe node <имя_узла> | grep Allocatable -B 4 -A 3
Количество резервируемых ресурсов оперативной памяти и процессора
Резервирование ресурсов оперативной памяти
Для памяти резервируется следующее количество ресурсов:
- 255 МБ памяти для узлов с количеством памяти меньше 1 ГБ.
- 25% от первых 4 ГБ памяти.
- 20% от следующих 4 ГБ памяти (до 8 ГБ).
- 10% от следующих 8 ГБ памяти (до 16 ГБ).
- 6% от следующих 112 ГБ (до 128 ГБ).
- 2% от объема памяти больше 128 ГБ.
Также дополнительно резервируется 100 МБ памяти на каждом узле для kubelet eviction
Резервирование ресурсов процессора
Для процессора резервируется следующее количество ресурсов:
- 6% от одного ядра.
- 1% от следующего ядра (до 2 ядер включительно).
- 0,5% от следующих двух ядер (до 4 ядер включительно).
- 0,25% от всех ядер больше 4.