Skip to content

Commit e937a06

Browse files
authored
kubeadm: add TS entry about joining 1.18 nodes to 1.17 cluster (#19868)
1 parent 3eac351 commit e937a06

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

content/en/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,49 @@ If your problem is not listed below, please follow the following steps:
2222

2323
{{% capture body %}}
2424

25+
## Not possible to join a v1.18 Node to a v1.17 cluster due to missing RBAC
26+
27+
In v1.18 kubeadm added prevention for joining a Node in the cluster if a Node with the same name already exists.
28+
This required adding RBAC for the bootstrap-token user to be able to GET a Node object.
29+
30+
However this causes an issue where `kubeadm join` from v1.18 cannot join a cluster created by kubeadm v1.17.
31+
32+
To workaround the issue you have two options:
33+
34+
Execute `kubeadm init phase bootstrap-token` on a control-plane node using kubeadm v1.18.
35+
Note that this enables the rest of the bootstrap-token permissions as well.
36+
37+
or
38+
39+
Apply the following RBAC manually using `kubectl apply -f ...`:
40+
41+
```yaml
42+
apiVersion: rbac.authorization.k8s.io/v1
43+
kind: ClusterRole
44+
metadata:
45+
name: kubeadm:get-nodes
46+
rules:
47+
- apiGroups:
48+
- ""
49+
resources:
50+
- nodes
51+
verbs:
52+
- get
53+
---
54+
apiVersion: rbac.authorization.k8s.io/v1
55+
kind: ClusterRoleBinding
56+
metadata:
57+
name: kubeadm:get-nodes
58+
roleRef:
59+
apiGroup: rbac.authorization.k8s.io
60+
kind: ClusterRole
61+
name: kubeadm:get-nodes
62+
subjects:
63+
- apiGroup: rbac.authorization.k8s.io
64+
kind: Group
65+
name: system:bootstrappers:kubeadm:default-node-token
66+
```
67+
2568
## `ebtables` or some similar executable not found during installation
2669

2770
If you see the following warnings while running `kubeadm init`

0 commit comments

Comments
 (0)