Я хочу создать свой первый кластер 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-соус, который нужно добавить во время процедуры настройки?
.Похоже, что основная проблема здесь:
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
Это означает, что либо у вас вообще не установлен докер, либо его исполняемый файл отсутствует в PATH. Вам нужно проверить, установлен ли докер (и установить его, если это необходимо). Затем убедитесь, что исполняемый файл докера находится в вашем PATH.
См. также этот аналогичный вопрос .