0%

k8s【如果忘记master节点init后join命令怎么办】

格式

首先我们可以知道kubeadm join格式如下:

kubeadm join 192.168.99.11:6443 --token 4qcl2f.gtl3h8e5kjltuo0r \
    --discovery-token-ca-cert-hash sha256:7ed5404175cc0bf18dbfe53f19d4a35b1e3d40c19b10924275868ebf2a3bbe6e

获取token

master节点执行:

[root@master ~]# kubeadm token list
TOKEN                     TTL       EXPIRES                     USAGES                   DESCRIPTION   EXTRA GROUPS
xh7hwq.a62kp9myjdde3nif   22h       2020-06-05T15:54:14+08:00   authentication,signing           system:bootstrappers:kubeadm:default-node-token

注意token有效期,使用kubeadm token create创建新的token,kubeadm token create --ttl 0生成一个永不过期的token.

获取cert

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

最后就可以在新节点执行上面的命令加入集群了

一条命令解决

kubeadm token create --print-join-command