При настройке кластера kubernetes, команда инициализации kubeadm выдает ошибку
Я пытаюсь настроить кластер Kubernetes на виртуальной машине Azure Ubuntu-16.04 LTS. Я установил на виртуальную машину версию docker 17.03.2~ce-0~ubuntu-xenial и выполнил все шаги, упомянутые на официальном сайте kubernetes, но при выполнении команды kubeadm на главном узле я получаю сообщение об ошибке.
Моя команда инициализации:
kubeadm init --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=<ip>
Сообщение об ошибке:
[init] using Kubernetes version: v1.11.3
[preflight] running pre-flight checks
[preflight] Some fatal errors occurred:
[ERROR KubeletVersion]: the kubelet version is higher than the control
plane version. This is not a supported version skew and may lead to a
malfunctional cluster. Kubelet version: "1.12.0-rc.1" Control plane version:
"1.11.3"
[preflight] If you know what you are doing, you can make a check non-fatal
with `--ignore-preflight-errors=...`
2 ответа
У вас есть более новая версия kubelet
- v1.12.0-rc.1
чем это из kubeadm
- v1.11.3
, Ты можешь попробовать:
Понижение версии kubelet в соответствии с вашей версией kubeadm
На Ubuntu запустите:
apt-get -y install kubelet=1.11.3-00
С другой стороны, обновите kubeadm, чтобы соответствовать kubelet
На Ubuntu запустите:
apt-get -y install kubeadm=1.12.0-rc.1-00
--ignore-preflight-errors
как он говорит, но смотрите, если вы видите какие-либо другие ошибки, которые могут сделать вашу установку не работает.
Надеюсь, поможет.
Ошибка, которую вы опубликовали, определенно связана с тем, что описал @Rico, в последнее время произошло обновление версии, и у многих людей была эта проблема (включая меня). Вы можете увидеть релизы здесь. Похоже, через некоторое время после выхода новой версии apt-get install -y kubelet kubeadm kubectl
будет загружать или соответствовать неверной версии компонентов.
Когда у меня возникла эта проблема, загрузка версии Kubernetes вручную (kubeadm config images pull --kubernetes-version v1.11.3
) а потом работает kubeadm init
с флагом, отмечающим, какую версию я хочу запустить, у меня получилось. Другой вариант - обновить kubeadm (apt-get upgrade kubeadm
).
Однако, как я проверял это на чистой установке всего несколько минут назад, все отлично работает из коробки.
Вы можете удалить kubelet, kubeadm и kubectl и установить их снова с помощью рекомендованных команд из документации или попробовать kubeadm reset
и затем сопоставьте версии или компоненты обновления, как предложено Rico. Не забудьте запустить:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
после инициализации кластера.