kubelet 可作為在 Kubernetes 叢集內每個節點上執行的主要「節點代理」。
其主要職責包括:
確保 PodSpecs(定義 Pod 的 YAML 或 JSON 物件)中所述的容器正在運作且健康。
每個節點都運行一個 kubelet 服務進程,默認監聽 Port 10250。
Port 10250 是 Kubernetes 中 kubelet 服務進程的默認通訊端口。
kubelet 通常會監聽這個端口以便接收來自 master 節點的指令和發送節點狀態資訊。
這個端口也用於提供 API 端點,讓 Kubernetes 控制平面和其他工具可以與 kubelet 進行通訊。
節點在 Kubernetes 集群中註冊時,使用主機名稱、覆蓋標誌或雲端提供者的特定邏輯來向 Kubernetes API 伺服器報告其存在。
kubelet 的命令行標誌可以用來:
--hostname-override
標誌可以指定節點的主機名稱,覆蓋系統默認的主機名稱。--port
標誌可以設置 kubelet 監聽的端口。--max-pods
標誌來設置節點上能夠運行的最大 Pod 數量。其他命令行指令可以參考這裡
節點負責有效地管理和監控資源的使用,包括:
節點與 Kubernetes 控制平面之間的通訊至關重要,它包括:
從本質上講,kubelet 在維護 Kubernetes 叢集的運作穩定性和效率方面發揮著至關重要的作用。