kubeadm: add TS entry about joining 1.18 nodes to 1.17 cluster (#19868)
parent
3eac351bec
commit
e937a06616
|
@ -22,6 +22,49 @@ If your problem is not listed below, please follow the following steps:
|
|||
|
||||
{{% capture body %}}
|
||||
|
||||
## Not possible to join a v1.18 Node to a v1.17 cluster due to missing RBAC
|
||||
|
||||
In v1.18 kubeadm added prevention for joining a Node in the cluster if a Node with the same name already exists.
|
||||
This required adding RBAC for the bootstrap-token user to be able to GET a Node object.
|
||||
|
||||
However this causes an issue where `kubeadm join` from v1.18 cannot join a cluster created by kubeadm v1.17.
|
||||
|
||||
To workaround the issue you have two options:
|
||||
|
||||
Execute `kubeadm init phase bootstrap-token` on a control-plane node using kubeadm v1.18.
|
||||
Note that this enables the rest of the bootstrap-token permissions as well.
|
||||
|
||||
or
|
||||
|
||||
Apply the following RBAC manually using `kubectl apply -f ...`:
|
||||
|
||||
```yaml
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRole
|
||||
metadata:
|
||||
name: kubeadm:get-nodes
|
||||
rules:
|
||||
- apiGroups:
|
||||
- ""
|
||||
resources:
|
||||
- nodes
|
||||
verbs:
|
||||
- get
|
||||
---
|
||||
apiVersion: rbac.authorization.k8s.io/v1
|
||||
kind: ClusterRoleBinding
|
||||
metadata:
|
||||
name: kubeadm:get-nodes
|
||||
roleRef:
|
||||
apiGroup: rbac.authorization.k8s.io
|
||||
kind: ClusterRole
|
||||
name: kubeadm:get-nodes
|
||||
subjects:
|
||||
- apiGroup: rbac.authorization.k8s.io
|
||||
kind: Group
|
||||
name: system:bootstrappers:kubeadm:default-node-token
|
||||
```
|
||||
|
||||
## `ebtables` or some similar executable not found during installation
|
||||
|
||||
If you see the following warnings while running `kubeadm init`
|
||||
|
|
Loading…
Reference in New Issue