
Я хочу настроить свой первый кластер Kubernetes в учебных целях.
У меня запущено 3 контейнера lxc AlmaLiunx 8.4
*один должен стать контроллером, остальные 2 станут рабочими узлами.
В качестве руководства я используюэтот урок. Однако я хочу использовать podman как среду выполнения контейнера и уже установил его на рабочих узлах. При выполнении kubeadm init
команды на контроллере я получаю сообщение об ошибке, в котором говорится, что docker будет обязательным.
# kubeadm init
[init] Using Kubernetes version: v1.22.1
[preflight] Running pre-flight checks
[preflight] WARNING: Couldn't create the interface used for talking to the container runtime: docker is required for container runtime: exec: "docker": executable file not found in $PATH
[WARNING FileExisting-tc]: tc not found in system path
[preflight] Pulling images required for setting up a Kubernetes cluster
[preflight] This might take a minute or two, depending on the speed of your internet connection
[preflight] You can also perform this action in beforehand using 'kubeadm config images pull'
error execution phase preflight: docker is required for container runtime: exec: "docker": executable file not found in $PATH
To see the stack trace of this error execute with --v=5 or higher
Я попытался обойти это ограничение, добавив , alias docker-'podman'
но это не дало желаемого эффекта (я проверил псевдоним. Он работает).
Мне интересно, нужно ли сначала настроить кластер с помощью Docker, а затем заменить его на Podman на рабочих узлах, или есть какой-то секретный Podman-соус, который нужно добавить во время процедуры настройки?
решение1
Похоже, что главная проблема здесь:
WARNING: Couldn't create the interface used for talking to the container runtime: docker is required for container runtime: exec: "docker": executable file not found in $PATH
Это означает, что либо у вас вообще не установлен docker, либо его исполняемый файл отсутствует в PATH. Вам нужно проверить, установлен ли docker (и установить его, если необходимо). Затем убедитесь, что исполняемый файл docker находится в вашем PATH.
Смотрите такжеэтот похожий вопрос.