背景信息:
测试环境,目前有2个节点,想部署一个rook-ceph集群,想着再新增一个节点。由于好长时间没动过这个环境,忘记添加节点的命令了,采取查看其它节点的历史命令,找出添加节点的命令。找到后,在新节点执行添加,报错,看着错误信息,一脸蒙蔽,怎么办,谷歌了一下发现,默认的token信息只有24小时,我这离搭建集群的时间早过去24小时了,啧啧啧。既然原因找到了,那就生产新token,再执行添加操作吧。生产新token命令如下:(在master节点执行)
kubeadm token create
# 列出token
kubeadm token list
# 截取token
kubeadm token list | awk -F" " '{print $1}' |tail -n 1
cnd42b.p6tdgix6onb0rq9o
接着获取ca证书sha256编码hash值,命令如下:
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
8134e2494902c59a344f54ace44b753a4e74bda2faf38fca9f59a0bd944af2f5
这token 和hash值都有了,在新节点执行命令添加把,命令如下:
kubeadm join 192.168.100.51:6443 --token cnd42b.p6tdgix6onb0rq9o --discovery-token-ca-cert-hash sha256:8134e2494902c59a344f54ace44b753a4e74bda2faf38fca9f59a0bd944af2f5
ddd,又遇到错误,根据错误信息,执行了如下命令,获取详细信息,发现kubelet 版本不对,因为最近k8s 新出了版本,而安装的时候没注意,直接yum 安装,没指定版本信息,导致出现此问题。既然知道问题原因了,那么安装指定版本的kubelet ,再次执行添加节点命令,嘿嘿嘿,顺利添加成功。
kubeadm join 192.168.100.51:6443 --token cnd42b.p6tdgix6onb0rq9o --discovery-token-ca-cert-hash sha256:8134e2494902c59a344f54ace44b753a4e74bda2faf38fca9f59a0bd944af2f5 --v=5