我正在尝试在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=...`
答案 0 :(得分:1)
您使用的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
像上面说的那样,但是请注意是否看到任何其他错误,这些错误可能会使您的安装无法正常工作。
希望有帮助。
答案 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
集群初始化后。