Kubernetes Token 过期之后重新生成用于加入集群的 Join Token

已关闭留言

Kubernetes 安装完之后会显示一个初始的用于其他节点加入该 master 节点的 token,这个 token 一般只有 24 小时有效期,过了有效期就要重新生成了。默认的 kubeadm token create 命令会生成一个 token,但是还需要我们手动查看 join 时候需要的 --discovery-token-ca-cert-hash 这个参数。不过新版的 Kubernetes 已经解决了这个问题,非常方便,一行命令就能搞定。

文章目录
隐藏
一、Kubernetes 生成 Join Token 并显示
二、参考和总结

一、Kubernetes 生成 Join Token 并显示

命令如下:

# kubeadm token create --print-join-command
kubeadm join --token 5d2dc8.3e93f8449167639b 10.0.2.66:6443 --discovery-token-ca-cert-hash sha256:44a68d4a2c2a86e05cc0d4ee8c9c6b64352c54e450021331c483561e45b34388

非常方便,生成之后在别的 Node 输入该命令然后加入 master 节点即可。

注意,这样生成的 Token 有效期是 24 小时,如果不想过期,可以加上 --ttl=0 这个参数。

生成 Token 之后,可以使用 kubeadm token list 进行查看。

二、参考和总结

Kubernetes 是一个比较大的工程,确实会遇到各种各样的问题,只能是遇到一个解决一个了。

本文参考下列文献:

  • 《no programmatic way to get discovery token ca hash #659》
  • 《kubeadm 生成的token过期后,集群增加节点》

其中第一个给出了最新方法,第二篇文章给的方法是比较旧的,但是也可以参考一下。