У меня есть уже существующий кластер k8, в который я хочу добавить узел. Похоже, что есть проблема с версией, и я не знаю, как ее решить.
Когда я пытаюсь присоединиться к новому узлу (используя kubeadm join
):
...
[kubelet] Downloading configuration for the kubelet from the "kubelet-config-1.12" ConfigMap in the kube-system namespace
configmaps "kubelet-config-1.12" is forbidden: User "system:bootstrap:rsezn8" cannot get configmaps in the namespace "kube-system"
На существующем узле:
[root@kube0 ~]# kubeadm version
kubeadm version: &version.Info{Major:"1", Minor:"12", GitVersion:"v1.12.1", GitCommit:"4ed3216f3ec431b140b1d899130a69fc671678f4", GitTreeState:"clean", BuildDate:"2018-10-05T16:43:08Z", GoVersion:"go1.10.4", Compiler:"gc", Platform:"linux/amd64"}
[root@kube0 ~]# rpm -qa | grep kube
kubeadm-1.12.1-2.x86_64
kubernetes-cni-0.6.0-2.x86_64
kubectl-1.12.1-2.x86_64
kubelet-1.12.1-2.x86_64
На (предполагаемом) новом узле:
[root@kube4 ~]# rpm -qa | grep kube
kubectl-1.12.1-0.x86_64
kubelet-1.12.1-0.x86_64
kubernetes-cni-0.6.0-0.x86_64
kubeadm-1.12.1-0.x86_64
На главном узле:
[root@kube-master kubernetes]# kubectl get configmap -n kube-system
NAME DATA AGE
coredns 1 106d
extension-apiserver-authentication 6 106d
filebeat-config 1 16d
filebeat-inputs 1 16d
kube-proxy 2 106d
kubeadm-config 1 106d
kubelet-config-1.11 1 106d
kubernetes-dashboard-settings 1 105d
weave-net 0 106d
[root@kube-master kubernetes]# kubelet --version
Kubernetes v1.12.1
Когда я смотрю на предыдущие решения этой проблемы (Вот) похоже, что новый узел выше версия, чем существующая. В моем случае (как-то) верно обратное. (yum update
не показывает более новые версии)
Другой вопрос - это kubelet-config-1.11. Это моя проблема? Как мне это исправить?
Исправление заключалось в том, чтобы следовать процессу обновления std. Как-то у меня была система с версией kubeadm 1.21.1 и версией кластера 1.11.0.
Следовал инструкциям Вот.
Когда дело дошло до загрузки нового программного обеспечения, оно уже было в системе (ах).