Kubernetes v1.37: Выпускники M... Заметка
Kubernetes Blog на русском

Kubernetes v1.37: Выпускники Memory QoS переходят в бета-версию

Kubernetes v1.37 отмечает переход Memory QoS в бета-версию, которая теперь включена по умолчанию на узлах Linux, использующих cgroup v2. Эта функция улучшает управление памятью контейнеров, используя контроллер памяти ядра для лучшего руководства. Изначально представленная как альфа-версия в v1.22, она получила расширенную функциональность в v1.36 с многоуровневым резервированием памяти. Переход в бета-версию означает, что функция MemoryQoS активна во всех kubelet v1.37 без необходимости явных изменений в конфигурации. Важно отметить, что конфигурация kubelet по умолчанию не включает ограничение или резервирование памяти, если пользователи явно не выбирают эту опцию.Пользователи могут включить определенные режимы работы Memory QoS через поля конфигурации kubelet. Например, установка memoryThrottlingFactor активирует ограничение memory.high для контейнеров Burstable и BestEffort. Альтернативно, настройка memoryReservationPolicy на TieredReservation включает многоуровневую защиту памяти через memory.min и memory.low. Важным изменением в v1.37 является изменение значения по умолчанию для memoryThrottlingFactor с 0.9 на null, что предотвращает автоматическое ограничение памяти для существующих кластеров при обновлении. Это гарантирует, что поведение во время выполнения остается неизменным, если явно не настроено иначе.Для настройки Memory QoS операторы кластера могут установить memoryThrottlingFactor для ограничения и memoryReservationPolicy для многоуровневого резервирования. Оба параметра могут быть включены одновременно или независимо. Полное отключение Memory QoS возможно путем установки параметра функции в false и соответствующей корректировки конфигурации kubelet. Известным ограничением является то, что резервирование памяти осуществляется в масштабе всего узла, применяясь одинаково ко всем подам независимо от их желаемого поведения, что влияет на контроль отдельных подов. Следующим этапом разработки Memory QoS является переход к общедоступности, а текущие отзывы формируют будущие корректировки.