Kubernetes 執行join卡住導致加入集羣失敗問題解決

問題現象

之前自己搭建了一個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的安裝在此不再贅述,感興趣的可以參照我另外一篇文章

從零開始搭建kubernetes集羣

但是在使用如下命令
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,成功納管:
在這裏插入圖片描述
在這裏插入圖片描述

總結

遇到問題時可以採用控制變量法,再結合網絡上搜集到的一些信息進行試錯。大膽猜想,小心求證。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章