С выходом Kubernetes v1.37 функция менеджеров ресурсов уровня Pod перешла в статус бета-версии (по умолчанию отключена)!
Впервые представленное как альфа-функция в Kubernetes v1.36, это улучшение развивает концепцию ресурсов уровня Pod, позволяя Topology Manager, CPU Manager и Memory Manager в Kubelet использовать декларации ресурсов уровня Pod (.spec.resources) напрямую при принятии решений о размещении оборудования.
Внедрение ресурсов уровня Pod в менеджеры узлов
До появления этой функции получение эксклюзивных NUMA-выровненных ядер CPU или памяти для приложений, критичных к задержкам, вынуждало операторов кластеров делать выбор «все или ничего»: назначать целочисленные запросы ресурсов каждому контейнеру в Pod или полностью отказываться от эксклюзивного NUMA-выравнивания. Для современных рабочих нагрузок, использующих легковесные sidecar-контейнеры (например, агенты логирования или экспортеры телеметрии), выделение физических ядер вспомогательным контейнерам было нерациональным.
Менеджеры ресурсов уровня Pod решают эту проблему, обеспечивая гибридные модели распределения. Kubelet может резервировать эксклюзивные NUMA-выровненные ресурсы для основных контейнеров приложения, помещая при этом sidecar-контейнеры, не требующие гарантий (non-Guaranteed), в изолированный общий пул Pod. Это гарантирует, что основные рабочие нагрузки получат производительность без ограничений и с локальным доступом к NUMA, в то время как sidecar-контейнеры будут работать в изолированном общем пуле, получая преимущества локального NUMA-выравнивания и защиту от внешних помех узла, не потребляя при этом выделенные физические ядра.
Что нового в бета-версии
Переход в стадию бета-тестирования приносит ключевые улучшения в работе и API:
- Переход в статус Beta: Управляется через feature gate PodLevelResourceManagers, доступен для включения (по умолчанию отключен) в Kubernetes v1.37.
- Отчетность PodResources API: gRPC-сервис PodResources версии v1 (PodResourcesLister) вводит поля верхнего уровня cpu_ids и memory в ответах PodResources. Инструменты мониторинга и плагины устройств могут запрашивать эксклюзивные назначения уровня Pod напрямую, не дублируя подсчет распределений контейнеров.
Начало работы и обратная связь
Для глубокого изучения технических деталей и конфигурации этой функции ознакомьтесь с официальной документацией:
- Менеджеры ресурсов уровня Pod
- Справочник по менеджерам ресурсов уровня Pod
Чтобы пройти пошаговое руководство по настройке и развертыванию рабочих нагрузок:
- Использование ресурсов уровня Pod с менеджерами ресурсов Kubelet
Чтобы узнать больше о том, как назначать ресурсы подам:
- Назначение ресурсов CPU и памяти уровня Pod
Поскольку эта функция движется от стадии бета-тестирования к общедоступной (GA), ваш отзыв неоценим. Пожалуйста, сообщайте о любых проблемах или делитесь своим опытом через стандартные каналы связи Kubernetes:
- Slack: #sig-node
- Список рассылки
- Открытые проблемы/PR сообщества







