在k8s安装过程中,kubeadm初始生成的token有效期只有24小时,但是集群在后期扩容会逐渐扩大,新增节点的时候需要重新生成token,具体操作如下
kubeadm token create --print-join-command #返回 W1119 10:40:21.639789 10340 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io] kubeadm join 192.168.90.220:6443 --token si8a8j.7ykocpr5nqsqmt7v --discovery-token-ca-cert-hash sha256:1977d7ea82e2afe92573e8f6d35705470b6bba6a1b2a63ac25bef680a50ec121
可以使用以下命令查看新生成的token
kubeadm token list
可以看到第二个就是新生成的
如果忘记记录刚才创建的新token的hash值,可以通过以下命令重新获取
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
返回
1977d7ea82e2afe92573e8f6d35705470b6bba6a1b2a63ac25bef680a50ec121
也可以创建一个永久有效的token,命令如下
kubeadm token create --ttl 0
返回
TOKEN TTL EXPIRES USAGES DESCRIPTION EXTRA GROUPS ecfq7k.fgkgmmih6623b5wh <forever> <never> authentication,signing <none> system:bootstrappers:kubeadm:default-node-token fz1l2k.feihii52w0vccbw2 23h 2021-11-20T09:58:27+08:00 authentication,signing The default bootstrap token generated by 'kubeadm init'. system:bootstrappers:kubeadm:default-node-token si8a8j.7ykocpr5nqsqmt7v 23h 2021-11-20T10:40:21+08:00 authentication,signing <none> system:bootstrappers:kubeadm:default-node-token
再次使用openssl命令获取hash值