kubelet的功能、作用是什麼

Mr.peter發表於2024-03-09

kubelet部署在每個node節點上的,它主要有4個功能:
1、節點管理。

kubelet啟動時會向api-server進行註冊,然後會定時的向api-server彙報本節點資訊狀態,資源使用狀態等,這樣master就能夠知道node節點的資源剩餘,節點是否失聯等等相關的資訊了。master知道了整個叢集所有節點的資源情況,這對於 pod 的排程和正常執行至關重要。
2、pod管理。

kubelet負責維護node節點上pod的生命週期,當kubelet監聽到master的下發到自己節點的任務時,比如要建立、更新、刪除一個pod,kubelet 就會透過CRI(容器執行時介面)外掛來呼叫不同的容器執行時來建立、更新、刪除容器;常見的容器執行時有docker、containerd、rkt等等這些容器執行時,我們最熟悉的就是docker了,但在新版本的k8s已經棄用docker了,k8s1.24版本中已經使用containerd作為容器執行時了。

3、容器健康檢查。

pod中可以定義啟動探針、存活探針、就緒探針等3種,我們最常用的就是存活探針、就緒探針,kubelet 會定期呼叫容器中的探針來檢測容器是否存活,是否就緒,如果是存活探針,則會根據探測結果對檢查失敗的容器進行相應的重啟策略;

4、Metrics Server資源監控。

在node節點上部署Metrics Server用於監控node節點、pod的CPU、記憶體、檔案系統、網路使用等資源使用情況,而kubelet則透過Metrics Server獲取所在節點及容器的上的資料。

相關文章