设置kubernetes集群时,kubeadm初始化命令给出错误

时间:2018-09-21 03:56:42

标签: azure docker kubernetes azure-vm-templates

我正在尝试在Azure ubuntu-16.04 LTS VM上设置Kubernetes集群。我在VM上安装了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 个答案:

答案 0 :(得分:1)

您使用的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像上面说的那样,但是请注意是否看到任何其他错误,这些错误可能会使您的安装无法正常工作。

希望有帮助。

答案 1 :(得分:0)

您发布的错误肯定与@Rico描述的内容有关,最近有版本更新,很多人都遇到了此问题(包括我)。您可以查看发布的版本here. 似乎在新版本发布之后的某个时间,apt-get install -y kubelet kubeadm kubectl将下载或匹配错误版本的组件。

遇到此问题时,请手动下载Kubernetes版本( kubeadm config images pull --kubernetes-version v1.11.3),然后运行带有标志的kubeadm init,该标志标明我要运行哪个版本对我有效。另一种选择是升级kubeadm(apt-get upgrade kubeadm)。

但是,正如我几分钟前在全新安装上测试的那样,一切正常可用。

您可以从documentation中使用推荐的命令删除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

集群初始化后。