Узел не добавляется с containerd v2: не проходит проверка 000_check_containerd_v2_support

Viewed 27

Переключил NodeGroup на cri.type: ContainerdV2 (или ставлю кластер сразу с ним), новые узлы не появляются: bashible завершается с ошибкой на проверке поддержки containerd v2. Образ: Ubuntu 24.04 из облака.

1 Answers

Требования ContainerdV2:

  • ядро Linux 5.8+, кроме 6.12.0–6.12.28 и 6.14.0–6.14.6 (уязвимость в EROFS);
  • systemd 244+;
  • cgroup v2;
  • модуль ядра erofs.

В облачных образах Ubuntu модуля erofs часто нет: он входит в пакет linux-modules-extra.

Проверка на узле:

uname -r
grep -qw erofs /proc/filesystems || modprobe -qn erofs && echo erofs ok
stat -fc %T /sys/fs/cgroup   # должно быть cgroup2fs
systemctl --version | head -1

Ставим недостающий пакет:

apt install -y linux-modules-extra-$(uname -r)
  • На уже присоединённом узле причину отказа показывает аннотация node.deckhouse.io/containerd-v2-err.
  • Автоматически пакет устанавливается только в AWS на Ubuntu (Deckhouse Platform 1.76+), и не для всех ядер: если пакета для ядра нет, срабатывает алерт D8NodeContainerdV2NotSupported. В остальных облаках и на статических узлах установите пакет сами или подготовьте образ с ним.
  • Если устанавливаете пакет через NodeGroupConfiguration, задайте ей вес 0 и имя, идущее по алфавиту раньше встроенной проверки: шаги выполняются в алфавитном порядке, вес по умолчанию равен 100.

Подробнее в документации: миграция на containerd v2.

Related