Kubernetes 核心組件
etcd保存了整個集羣的狀態;
apiserver提供了資源操作的唯一入口,並提供認證、授權、訪問控制、API註冊和發現等機制;
kube-controller-manager運行管理控制器,它們是集羣中處理常規任務的後臺線程比如故障檢測、自動擴展、滾動更新等;包括:
節點(Node)控制器。
副本(Replication)控制器:負責維護系統中每個副本中的pod。
端點(Endpoints)控制器:填充Endpoints對象(即連接Services&Pods)。
Service Account和Token控制器:爲新的Namespace 創建默認帳戶訪問API Token。
kube-scheduler 監視新創建沒有分配到Node的Pod,爲Pod選擇一個Node;
kubelet 在node 節點上,負責維護容器的生命週期,同時也負責Volume(CVI)和網絡(CNI)的管理;
kube-proxy通過在主機上維護網絡規則並執行連接轉發到Kubernetes服務deployment。
deployment 是一種無狀態應用控制器。
• 使用Deployment來創建ReplicaSet。ReplicaSet在後臺創建pod。檢查啓動狀態,看它是成功還是失敗。擴容Deployment以滿足更高的負載。
• 暫停Deployment來應用PodTemplateSpec的多個修復,然後恢復上線。
• 根據Deployment 的狀態判斷上線是否hang住了。
• 清除舊的不必要的 ReplicaSet
附上組件的調用關係圖: