Динамическое резервирование ресурсов
Узлу необходимы ресурсы для запуска компонентов 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