Kubernetes 纳管节点卡住导致加入集群失败问题解决
问题现象之前自己搭建了一个k8s集群,配置如下:os: centos8master:8U8G 192.168.2.106worker1: 4U4G 192.168.2.240worker2: 4U4G 192.168.2.149最近需要在k8s上搭建hadoop集群,但是两台worker有点捉襟见肘,遂决定再添加一台worker3,k8s的安装在此不再赘述,感兴趣的可以参照我另外...
问题现象
之前自己搭建了一个k8s集群,配置如下:
os: centos8
master: 8U8G 192.168.2.106
worker1: 4U4G 192.168.2.240
worker2: 4U4G 192.168.2.149
最近需要在k8s上搭建hadoop集群,但是两台worker有点捉襟见肘,遂决定再添加一台worker3,k8s的安装在此不再赘述,感兴趣的可以参照我另外一篇文章
但是在使用如下命令
kubeadm join 192.168.2.106:6443 --token 2x0odw.1z8pda6zlov83z0u \ --discovery-token-ca-cert-hash sha256:ca77eaa6ddaf0fec34894c521a139a1a444c35b0cd1739ebe6c5080ffb3c8b97
将worker3节点纳管到集群中时却卡住了,等了5分钟左右仍然没有响应:
解决办法
通过参考Kubernetes 执行join卡住导致加入集群失败问题解决这篇文章最后总算解决了问题。
首先我想到如果是证书的问题,那么我在之前已经纳管的节点worker1、worker2上重新join肯定也会失败,但是事实并不是这样:
在worker1上执行确是成功了,只不过提示纳管的一些配置文件已经创建过了,所以由此推断证书没有问题,那么到底时什么原因引起的呢?
在上面的参考博客中提到有两种情况会导致出现这种现象。一、证书过期(已排查)二、token过期
结合worker1、worker2是在master初始化完成后就纳入集群,而worker3却是在几天之后进行纳管,所以token失效的几率很大。
所以按照如下步骤就行尝试,最终解决了问题:
1.创建一个永久token来防止token失效
在master节点上执行:
kubeadm token create --ttl 0
kubeadm token list
结果如下图所示:
会生成一个新的token,拿到这个token在woker3上执行 kubeadm join
,成功纳管:
总结
遇到问题时可以采用控制变量法,再结合网络上搜集到的一些信息进行试错。大胆猜想,小心求证。
更多推荐
所有评论(0)