👩💻 Итамар Холдер из Red Hat разбирает новую формулу перехода CPU shares из cgroup v1 в CPU weight для cgroup v2. Ранее при простом пересчёте контейнеры с 1 CPU получали слишком низкий приоритет по сравнению с процессами вне Kubernetes, а мелкие CPU-запросы невозможно было точно распределять внутри под-cgroups. Новая формула восстанавливает приоритет по умолчанию.
⌨️Внедрение и практика
• Изменение реализовано на уровне OCI-рантаймов (runc ≥1.3.2, crun ≥1.23), а не в Kubernetes. Внедрение новой формулы зависит от того, какой OCI-рантайм используется в вашем кластере.
runc поддерживает новую формулу с версии 1.3.2 crun – с версии 1.23 • Перед применением тестируйте значения CPU weight в staging.
• Обратите внимание на инструменты мониторинга и кастомные системы управления ресурсами – прежние формулы могут дать неверные прогнозы и метрики.
Новая формула CPU weight нужна для расстановки приоритетов контейнеров, управления CPU-запросами и для предсказуемости распределение ресурсов, что особенно важно в работе с высокими нагрузками.
❕Что почитать дальше:
Kubernetes GitHub Issue #131216 – подробный технический разбор с примерами и обсуждением выбора формулы.
KEP-2254: cgroup v2 – исходник cgroup v2 в Kubernetes.
Документация по cgroup в Kubernetes – актуальные рекомендации по управлению ресурсами.
#devops #kubernetes #containers
