При настройке кластера 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=...`

person user3541321    schedule 21.09.2018    source источник


Ответы (2)


У вас более новая версия kubelet - v1.12.0-rc.1, чем версия kubeadm - v1.11.3. Можешь попробовать:

  1. Понижение версии kubelet для соответствия вашей версии kubeadm

    В Ubuntu запустить: apt-get -y install kubelet=1.11.3-00

  2. Наоборот, обновите kubeadm, чтобы он соответствовал kubelet.

    В Ubuntu запустите: apt-get -y install kubeadm=1.12.0-rc.1-00

  3. --ignore-preflight-errors как там написано, но следите за другими ошибками, из-за которых ваша установка может не работать.

Надеюсь, поможет.

person Rico    schedule 21.09.2018
comment
Есть ли какая-либо команда или справочный документ для выполнения указанных шагов. Я новичок в kubernetes и не особо в этом разбираюсь. Так что, если вы можете сослаться на что-то, что было бы очень полезно. - person user3541321; 21.09.2018
comment
не повезло.. :( Я понял одну вещь, что у меня нет файла admin.conf в каталоге /etc/kubernetes/. Не уверен, что это может быть причиной - person user3541321; 21.09.2018
comment
Прежде чем пытаться что-либо еще раз на любом из ваших узлов. Попробуйте запустить kubeadm reset. Это удалит все и заставит вас начать с нуля. - person Rico; 21.09.2018

Опубликованная вами ошибка определенно связана с тем, что описал @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 и снова установить их с помощью рекомендуемых команд из documentation или попробуйте 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

после инициализации кластера.

person aurelius    schedule 02.10.2018