Я начал видеть этот тип сообщений в 1.12 с 5 декабря, сразу после выпуска 1.13.Я использовал установку по сценарию, поэтому не было никакого несовпадения версий или чего-либо между моим основным и рабочим узлами.Если версия 1.12 по-прежнему является желаемой версией, я опубликовал исправление для этой проблемы с разрешением: k8s 1.12 исправление разрешения на присоединение к kubeadm .
Исправление также представлено ниже:
Выполните ШАГИ 1, 2, 3, 4 на главном узле.
Выполните ШАГ 5 на рабочем узле.
ШАГ 1: Создатьновый ConfigMap "kubelet-config-1.12" из существующего "ConfigMap kubelet-config-1.13":
$ kubectl get cm --all-namespaces
$ kubectl -n kube-system get cm kubelet-config-1.13 -o yaml --export > kubelet-config-1.12-cm.yaml
$ vim kubelet-config-1.12-cm.yaml #modify at the bottom:
#name: kubelet-config-1.12
#delete selfLink
$ kubectl -n kube-system create -f kubelet-config-1.12-cm.yaml
ШАГ 2: Получить префикс токена:
$ sudo kubeadm token list #if no output, then create a token:
$ sudo kubeadm token create
TOKEN ... ...
a0b1c2.svn4my9ifft4zxgg ... ...
# Token prefix is "a0b1c2"
ШАГ 3: Создайте новую роль "kubeadm: kubelet-config-1.12" из существующей роли "kubeadm: kubelet-config-1.13":
$ kubectl get roles --all-namespaces
$ kubectl -n kube-system get role kubeadm:kubelet-config-1.13 > kubeadm:kubelet-config-1.12-role.yaml
$ vim kubeadm\:kubelet-config-1.12-role.yaml #modify the following:
#name: kubeadm:kubelet-config-1.12
#resourceNames: kubelet-config-1.12
#delete creationTimestamp, resourceVersion, selfLink, uid (because --export option is not supported)
$ kubectl -n kube-system create -f kubeadm\:kubelet-config-1.12-role.yaml
ШАГ 4: Создайте новую привязку ролей "kubeadm: kubelet-config-1.12" из существующей привязки ролей "kubeadm: kubelet-config-1.13":
$ kubectl get rolebindings --all-namespaces
$ kubectl -n kube-system get rolebinding kubeadm:kubelet-config-1.13 > kubeadm:kubelet-config-1.12-rolebinding.yaml
$ vim kubeadm\:kubelet-config-1.12-rolebinding.yaml #modify the following:
#metadata/name: kubeadm:kubelet-config-1.12
#roleRef/name: kubeadm:kubelet-config-1.12
#delete creationTimestamp, resourceVersion, selfLink, uid (because --export option is not supported)
- apiGroup: rbac.authorization.k8s.io #add these 3 lines as another group in "subjects:" at the bottom, with the 6 character token prefix from STEP 2
kind: Group
name: system:bootstrap:a0b1c2
$ kubectl -n kube-system create -f kubeadm\:kubelet-config-1.12-rolebinding.yaml
ШАГ 5: Выполнитьсоединение kubeadm с рабочего узла:
$ sudo kubeadm join --token <token> <master-IP>:6443 --discovery-token-ca-cert-hash sha256:<key-value>
# If you receive 2 ERRORS, run kubeadm join again with the following options:
$ sudo kubeadm join --token <token> <master-IP>:6443 --discovery-token-ca-cert-hash sha256:<key-value> --ignore-preflight-errors=FileAvailable--etc-kubernetes-bootstrap-kubelet.conf,FileAvailable--etc-kubernetes-pki-ca.crt