K8S集群增加新节点 - kubeadm 生成 token
通过kubeadm初始化后,都会提供node加入的token。
可通过下面命令查看
kubeadm token create --print-join-command
但是默认token的有效期为24小时,当过期之后,该token就不可用了。
生成新的token。
[root@k8s-master ~]# kubeadm token create
iuv3h7.9yhwvfm9f3phpfcl
[root@k8s-master ~]# kubeadm token list
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS
iuv3h7.9yhwvfm9f3phpfcl 23h 2019-05-14T10:26:50+08:00 authentication,signing <none> system:bootstrappers:kubeadm:default-node-token
获取ca证书sha256编码hash值
[root@k8s-master ~]# openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
91ca783858fbe9806560e8253ec47fe734addba3c8ee64ddbeace077a5101aee
这个ca证书是不会变的。可使用默认生成的
kubeadm join 192.168.6.190:6443 --token ty8a90.l4shqmrypvx1xmqz \
--discovery-token-ca-cert-hash sha256:91ca783858fbe9806560e8253ec47fe734addba3c8ee64ddbeace077a5101aee
可以愉快的添加新node了。
[root@k8s-master ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 3d18h v1.14.1
k8s-node1 Ready node1 3d18h v1.14.1
k8s-node2 Ready node2 3d18h v1.14.1
k8s-node3 Ready <none> 14s v1.14.1
再打个角色标签。 完美
[root@k8s-master ~]# kubectl label nodes k8s-node3 node-role.kubernetes.io/node3=
node/k8s-node3 labeled
[root@k8s-master ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 3d18h v1.14.1
k8s-node1 Ready node1 3d18h v1.14.1
k8s-node2 Ready node2 3d18h v1.14.1
k8s-node3 Ready node3 71s v1.14.1