尝试从工作节点连接到集群时出现以下错误。
集群版本为1.10.4
,节点版本为1.11.0
[discovery] Successfully established connection with API Server "10.148.0.2:6443"
[kubelet] Downloading configuration for the kubelet from the "kubelet-config-1.11" ConfigMap in the kube-system namespace
configmaps "kubelet-config-1.11" is forbidden: User "system:bootstrap:7fho7b" cannot get configmaps in the namespace "kube-system"
最佳答案
一定要检查你的 kubeadm 和 kubelet 的版本,确保你的所有节点都使用了这些包的相同版本。在安装之前,您应该在您的主机上“标记并保留”您的这些版本:
检查每个的当前版本:
kubelet --version
检查 kubeadm
kubeadm 版本
如果它们不同,你就有问题了。您应该在所有节点中重新安装相同的版本并允许降级。我在下面命令中的版本可能比当前版本旧,您可以用更新的版本号替换版本号,但这会起作用:
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.12.2-00 kubeadm=1.12.2-00 kubectl=1.12.2-00 --allow-降级
然后,一旦安装,标记并保留它们,这样它们就不能自动升级,破坏你的系统
sudo apt-mark hold docker-ce kubelet kubeadm kubectl
关于linux - 无法将工作节点连接到 kubernetes 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51380934/