K8S節點異常怎么辦,k8s 哪個節點是master節點,k8s查看節點剩余資源K8S節點異常怎么辦節點健康檢測的意思是在K8S集群運行過程中,由于運行時組件問題、內核死鎖、資源不足等各種原因,節點經常不可用。默認情況下,Kubelet會監控PIDPressure、MemoryPressure、DiskPressure......
節點健康檢測
的意思是
在K8S集群運行過程中,由于運行時組件問題、內核死鎖、資源不足等各種原因,節點經常不可用。默認情況下,Kubelet會監控PIDPressure、MemoryPressure、DiskPressure等節點的資源狀態,但當Kubelet報告這些狀態時,節點可能已經很長時間不可用,Kubelet可能已經啟動了驅逐Pod的操作。所以原生K8S對node 健康的檢測機制在某些場景下是不完善的。我們需要能夠提前發現節點的問題,需要更詳細的指標來描述節點的健康狀態,并采取相應的恢復策略,實現智能運維,減輕開發者和運營商的負擔。
節點問題檢測器
NPD(NodeProblemDetector)是一個開源的Kubernetes社區集群節點檢測組件。NPD提供了通過定期匹配系統日志或文件來發現節點異常的功能。用戶可以通過自己的運維經驗,配置可能產生異常問題日志的正則表達式,選擇不同的上報方式。NPD將解析用戶的配置文件。當有日志可以匹配用戶配置的正則表達式時,它可以通過NodeCondition、Event或Promethues度量報告檢測到的異常狀態。除了日志匹配功能,NPD還接受用戶自己編寫的自定義檢測插件。用戶可以開發自己的腳本或可執行文件,并將其集成到NPD的插件中,這樣NPD就可以定期執行檢測程序。
TKE 節點健康檢測
在TKE,NPD以擴展組件的形式集成,NPD的能力增強,稱為nodeployment detector Pulse(NPD Plus)擴展組件。用戶可以一鍵將NPDPlus擴展組件部署到現有集群,也可以選擇在創建集群時同時部署NPDPlus。在騰訊云容器團隊K8S集群的長期運維經驗中,提取了一些能夠發現特定形式節點異常的指標,并將其部分集成到NPDPlus中。比如檢測NPDPlus容器中Kubelet和Docker的systemd狀態,檢測主機的文件描述符和線程數壓力。具體指標如下:
TKE使用NPDPlus的目的是提前發現節點可能的不可用狀態,而不是在節點不再可用之后報告狀態健康。當用戶在TKE集群中部署NPDPlus時,使用命令kubectl describe node會發現更多的節點情況。例如,FDPressure指示該節點上已經使用的文件描述符的數量是否達到了機器所允許的最大值的80%;ThreadPressure表示一個節點上的線程數量是否達到了機器允許數量的90%,依此類推。用戶可以監控這些情況,并在出現異常情況時提前采取規避措施。
同時,K8S目前認為node NotReady的機制取決于kubecontrollermanager的參數設置。當節點的網絡被完全阻斷時,K8S很難發現第二級節點的異常,這在某些場景下(比如直播、在線會議等)是不可接受的。).針對這種場景,NPDPlus繼承了分布式node 健康檢測功能,可以在幾秒內快速檢測出一個節點的網絡狀態以及是否可以與其他節點通信,同時不依賴于與K8S主組件的通信。
節點自我修復
收集節點的健康狀態是為了在service Pod不可用之前提前發現節點的異常,以便運維或開發人員對Docker、Kubelet或節點進行修復。在NPDPlus中,為了減輕運維人員的負擔,提供了根據收集到的節點狀態進行不同自愈動作的能力。集群管理員可以根據節點的不同狀態配置相應的自愈能力,比如重啟Docker、重啟Kubelet或者重啟CVM節點。同時,為了防止集群中的節點雪崩,在進行自愈動作之前進行嚴格的限流,防止節點大規模重啟。同時,為了防止集群中的節點發生雪崩,在進行自愈動作之前進行了嚴格的電流限制。具體戰略是:
集群中同時只允許有一個節點自愈,兩次自愈行為間隔至少1分鐘。
當一個新節點添加到集群中時,它將給予該節點2分鐘的容錯時間,以防止由于剛添加到集群中的節點的不穩定性而導致的錯誤自愈。
當節點在觸發CVM自愈操作重啟后仍處于異常狀態時,節點將在3小時內不再執行任何自愈操作。
NPDPlus將記錄節點事件中執行的所有自愈操作,以便集群管理員可以方便地了解節點上的事件。
用戶指南
1.登錄騰訊云容器服務控制臺,點擊要創建NPDPlus的集群。
2.點擊集群詳細信息頁面左側的組件管理,在組件管理中選擇NodeProblemDetectorPlus。
3.配置NodeProblemDetectorPlus參數,可以根據具體節點的狀態選擇執行不同的自愈動作。
4.選擇“確定”,然后單擊“完成”,一鍵創建它。
在集群形成管理中,可以看到NPDPlus正在成功運行:
特別聲明:以上文章內容僅代表作者本人觀點,不代表ESG跨境電商觀點或立場。如有關于作品內容、版權或其它問題請于作品發表后的30日內與ESG跨境電商聯系。
二維碼加載中...
使用微信掃一掃登錄
使用賬號密碼登錄
平臺顧問
微信掃一掃
馬上聯系在線顧問
小程序
ESG跨境小程序
手機入駐更便捷
返回頂部