В руководстве по переходу на cgroup v2 проект Kubernetes описал требования и настройку узлов перед запланированным удалением поддержки cgroup v1 в версии 1.38. cgroup v2 — новая версия механизма управления ресурсами процессов в ядре Linux.
Начиная с Kubernetes 1.35, kubelet, агент Kubernetes на узле, по умолчанию не запускается на узлах с cgroup v1. В Kubernetes 1.36 поддержка cgroup v1 ещё доступна как резервный вариант: для временного отключения проверки администратор может задать failCgroupV1: false в конфигурации kubelet.
Перед обновлением с версии ниже 1.35 руководство рекомендует перевести все Linux-узлы на cgroup v2 или заранее предусмотреть временное отключение этой проверки. В руководстве есть требования к ядру Linux и среде запуска контейнеров, настройки драйвера cgroup и команды для проверки лимитов CPU и памяти.
Проверка утверждений:
- В руководстве Kubernetes по переходу на cgroup v2 сказано, что в Kubernetes 1.36 cgroup v1 ещё поддерживается как резервный вариант, который планируют убрать в версии 1.38. (подтверждено самой публикацией: доказательство; «For now, you can opt back in to use cgroup v1; the Kubernetes project recommends using cgroup v2, but in Kubernetes 1.36 (the current release) the cgroup v1 option remains supported as a fallback. That fallback is scheduled for removal in Kubernetes v1.38.»)
- Руководство описывает основные требования и настройку компонентов Kubernetes для работы с cgroup v2. (подтверждено самой публикацией: доказательство; «This blog only covers the basic requirements and configuration of Kubernetes components.»)
- Начиная с Kubernetes 1.35, kubelet по умолчанию не запускается на узлах с cgroup v1. (подтверждено самой публикацией: доказательство; «Starting with Kubernetes v1.35, failCgroupV1 defaults to true , so the kubelet does not start on a cgroup v1 node by default.»)
- Для временного отключения проверки администратор может задать failCgroupV1: false в конфигурации kubelet. (подтверждено самой публикацией: доказательство; «Administrators can temporarily set failCgroupV1: false in the kubelet configuration file , but removal will follow the Kubernetes deprecation policy .»)
- Перед обновлением с версии ниже 1.35 руководство рекомендует перевести все Linux-узлы на cgroup v2 или заранее предусмотреть временное отключение проверки failCgroupV1. (подтверждено самой публикацией: доказательство; «If you are still on a release older than v1.35, migrate every Linux node to cgroup v2 before upgrading, or plan to set the temporary failCgroupV1: false override.»)
- В руководстве есть требования к ядру Linux и среде запуска контейнеров и настройки драйвера cgroup. (подтверждено самой публикацией: доказательство; «The kernel version must be 5.8 or later (5.9 or later is recommended when using memory QoS) The container runtime must support cgroup v2. For example: containerd v1.4 or later supports cgroup v2; use containerd v2.0 or later for automatic cgroup-driver discovery CRI-O v1.20 or later The kubelet and the container runtime must both be configured to use the correct cgroup driver. See Configure the kubelet’s cgroup driver to match the container runtime cgroup driver .»)
- В руководстве есть команды для проверки лимитов CPU и памяти. (подтверждено самой публикацией: доказательство; «How to check if a Pod CPU or memory limit is successfully applied to the cgroup file?»)
Первоисточники:
оценка 79,3 из 100 · тип: руководство