k8s中遇到問題解決的思路

排查問題的思路總結:

1、首先要看下對應的pods運行情況;k8s裏所有的上層應用都運行在pods裏;所以,遇到問題,首先要排查下pods的運行情況;
一般有幾條命令:
(1) 查看命名空間裏的pods的運行情況,以及pod所在的node機器;
kubectl get pods -n xxxnamespace -o wide

(2) 查看pod的日誌

kubectl logs -n xxxnamespace xxxpodsname

(3) 查看pod的描述

kubectl describe pods -n xxxnamespace xxxpodsname

(4) 進入pod的容器內部查看運行情況
kubectl exec -it xxxpodsname -n xxxnamespace /bin/sh -c xxxcontainername

若命令用的不是非常熟練,可以在KubeSphere的 “平臺管理---》集羣管理---》應用負載---》容器組”裏查看相應的pods;


2、pods裏若有錯誤,看下錯誤信息;嘗試排查問題;
3、因爲k8s都是集羣環境,pods分佈在不同的工作節點裏,可以在相似的pods裏執行相同的命令對比信息,也可以在不同的pods執行相同的命令對比信息;
甚至是不同的node上的pod之間進行對比; 最終定位到某個Node機器上的某個Pod有問題。然後在排查問題。
4、實在不行,就吧出現問題的節點的Node機器重啓下,然後等個10-20分鐘左右,再看下情況。儘量不要重啓k8s集羣的所有機器。
5、k8s裏運行的東西比較慢,要有耐心等待幾分鐘,要確保pods都執行完畢了。 若pod有錯誤,也不要着急,k8s有自動故障轉移和恢復功能,等pods自動癒合。

 

https://github.com/kubesphere/ks-devops/issues/427

 

k8s的pods裏安裝nslookup的方法:

  • 步驟1: apt-get update
  • 步驟2: apt-get install dnsutils

參考網址:

https://blog.csdn.net/liumiaocn/article/details/100793480

K8s常見問題:Service 不能訪問排查流程

https://jishuin.proginn.com/p/763bfbd4d120

 

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