kubernetes-二進制部署的時候,遇到kubelet啟動失敗,服務報錯Unit kubelet.service entered failed state.


博主最近在學習二進制部署k8s,在node上部署kubelet組件時遇到錯誤。

作為一個新手,遇見這個問題慌得一批,完全不知道如何下手,百度也看不懂。

這個分享一下解決得思路:

 

一、檢查node節點,kubelet得bin命令是否拷貝

用cp 命令把二進制包里面得命令復制到你kubernetes的工作目錄

 

 

 

二、檢查node節點,ssl證書是否拷貝,跟主節點是否一致

在master節點生成了證書后,記得復制過去

 

 

 

三、對比跟node和master的bootstrap.kubeconfig是否一致,不一致復制master或者重新生成

 

 

 

補充:master重新生成bootstrap.kubeconfig命令

先查看之前的token.csv和kube-apiserver.conf,拿到兩個數據

TOKEN:4fb823f13d1d21be5991b9e3a582718c KUBE_APISERVER
="https://192.168.1.130:6443" # 生成 kubelet bootstrap kubeconfig 配置文件 kubectl config set-cluster kubernetes \ --certificate-authority=/opt/kubernetes/ssl/ca.pem \ --embed-certs=true \ --server=https://192.168.1.130:6443 \ --kubeconfig=bootstrap.kubeconfig kubectl config set-credentials "kubelet-bootstrap" \ --token=4fb823f13d1d21be5991b9e3a582718c \ --kubeconfig=bootstrap.kubeconfig kubectl config set-context default \ --cluster=kubernetes \ --user="kubelet-bootstrap" \ --kubeconfig=bootstrap.kubeconfig kubectl config use-context default --kubeconfig=bootstrap.kubeconfig # 拷貝到配置文件路徑 scp bootstrap.kubeconfig root@paas2:/opt/kubernetes/cfg/

 

四、是不是沒有授權 kubelet-bootstrap 用戶允許請求證書

這一部非常坑,有時候自己沒看清一些前輩的文檔,忘了這步

在master執行一下命令,執行后在node上重啟kubelet

#如果啟動報錯,在master節點授權boot-startboop
kubectl create clusterrolebinding kubelet-bootstrap \
--clusterrole=system:node-bootstrapper \
--user=kubelet-bootstrap

node重啟

systemctl start kubelet
systemctl enable kubelet
systemctl status kubelet

 

五、以上都不行請查看日志

 journalctl -xefu kubelet

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM