Резервирование ресурсов для системных компонентов
На каждой ноде кластера Managed Kubernetes установлены системные компоненты. Они отвечают за функционирование операционной системы и ноды как части кластера Managed Kubernetes. Системные компоненты используют ресурсы ноды — ядра процессора (vCPU) и оперативную память (RAM). Есть риск, что поды используют все ресурсы ноды и для системных компонентов ресурсов не хватит. Подобная нехватка ресурсов приводит к недоступности ноды. Чтобы этого избежать, при добавлении нод в кластер мы по умолчанию резервируем ресурсы для системных компонентов.
Ресурсы для системных компонентов зарезервированы:
- в кластерах с версией Kubernetes 1.27 и выше. Вы можете обновить версию кластера на облачном сервере;
- новых нодах;
- существующих нодах — только после переустановки.
Количество зарезервированных ресурсов зависит от используемой конфигурации.
Вы можете проверить количество доступных ресурсов на определенной ноде после создания кластера или добавления новой группы нод.
Количество зарезервированных ресурсов
vCPU
- 6% от первого ядра;
- 1% от второго ядра;
- 0,5% от третьего и четвертого ядер;
- 0,25% от всех следующих ядер.
RAM
- 255 МБ на нодах с RAM меньше 1 ГБ;
- 25% от первых 4 ГБ;
- 20% от следующих 4 ГБ — до 8 ГБ;
- 10% от следующих 8 ГБ — до 16 ГБ;
- 6% от следующих 112 ГБ — до 128 ГБ;
- 2% от объема памяти больше 128 ГБ.
Дополнительно на каждой ноде резервируется 100 МБ для обработки операций по вытеснению подов (eviction).
Проверить количество доступных ресурсов
Посмотреть, сколько ресурсов доступно на определенной ноде после резервирования ресурсов для системных компонентов, можно после создания кластера или добавления новой группы нод.
Выведите описание ноды:
kubectl describe node <node_name>
Укажите <node_name>
— имя ноды, на которой вы хотите по смотреть количество доступных ресурсов.
В ответе появится раздел Allocatable
, в котором будет отображаться количество доступных ресурсов. Например:
Capacity:
cpu: 8
ephemeral-storage: 20547260Ki
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 4004272Ki
pods: 110
Allocatable:
cpu: 7912m
ephemeral-storage: 18936354785
hugepages-1Gi: 0
hugepages-2Mi: 0
memory: 2750896Ki
pods: 110