Предупреждения в kubeadm после перехода с докера на контейнер
Я запускаю кластер Kubernetes, установленный с помощью . Недавно я обновился с 1.19 до 1.20 и перенес среду выполнения контейнера с , поскольку она устарела.
Я настроил иkubelet
использовать его и удалитьdocker
со всех узлов. Кажется, все идет нормально.
Сегодня я попытался обновиться с 1.20 до 1.21, но при запуске получил два предупреждения.kubeadm upgrade plan
что заставляет меня думатьcontainerd
переход не был завершен:
Он пытается использовать докер:
cannot automatically set CgroupDriver when starting the Kubelet: cannot execute 'docker info -f {{.CgroupDriver}}': executable file not found in $PATH
- Вероятно, у меня проблема с конфигурацией, потому что
kubeadm
похоже, не в курсе, что мы больше не используем докер, но я не нашел подходящего варианта ни в документации, ни в локальной конфигурации, кроме--cri-socket
который не работает сkubeadm upgrade
. - Во-вторых, странная формулировка: «при запуске Кубелета». Но мой кубелет запускается нормально, не жалуется на отсутствие докера или CgroupDriver.
- Вероятно, у меня проблема с конфигурацией, потому что
Он не обнаруживает настройки драйвера cgroup:
The 'cgroupDriver' value in the KubeletConfiguration is empty. Starting from 1.22, 'kubeadm upgrade' will default an empty value to the 'systemd' cgroup driver. The cgroup driver between the container runtime and the kubelet must match!
Это действительно удивительно, потому что у меня есть
cgroupDriver: systemd
вkubectl -n kube-system get cm kubelet-config-1.20 -o yaml
, в/var/lib/kubelet/config.yaml
, а также флаг в/etc/default/kubelet
и/var/lib/kubelet/kubeadm-flags.env
, и его даже печатаетkubeadm --v=10
!
Как я могу узнать, существует ли основная проблема с конфигурацией, или я могу безопасно игнорировать эти предупреждения?
Я не уверен, какие файлы, карта конфигурации или журналы могут помочь мне решить эту проблему, но я с радостью предоставлю их при необходимости.