????????
目錄
K8s總攬
K8s主要組件
組件說明
一、Master組件
二、WokerNode組件
K8s是Kubernetes的簡稱,它是Google的開源容器集群管理系統,其提供應用部署、維護、擴展機制等功能,利用k8s能很方便地管理跨機器運行容器化的應用。
K8s總攬
K8s主要組件
組件說明
一、Master組件
1、APISERVER:API Server主要用來處理REST的操作,確保它們生效,并執行相關業務邏輯,以及更新etcd(或者其他存儲)中的相關對象。
REST操作包括但不限于:允許用戶創建、讀取、更新和刪除pod;認證和授權;
2、Controller-Manager:執行大部分的集群層次的功能,它既執行生命周期功能(例如:命名空間創建和生命周期、事件垃圾收集、已終止垃圾收集、級聯刪除垃圾收集、node垃圾收集),也執行API業務邏輯(例如:pod的彈性擴容)。控制管理提供自愈能力、擴容、應用生命周期管理、服務發現、路由、服務綁定和提供。
3、Scheduler:為容器自動選擇運行的主機。依據請求資源的可用性,服務請求的質量等約束條件,scheduler監控未綁定的pod,并將其綁定至特定的node節點。K8s也支持用戶自己提供的調度器,scheduler負責根據調度策略自動將pod部署到合適的node中。調度策略分為預選策略和優選策略,pod的整個調度過程分為兩步:
????????????????1)預選Node:遍歷集群中所有的Node,按照具體的預選策略篩選出符合要求的Node列表。如沒有Node符合預選策略規則,該pod就會被掛起,知道集群中出現符合要求的Node。
????????????????2)優選Node:預選Node列表的基礎上,按照優選策略為待選的Node進行打分和排序,從中獲取最優的Node。
4、ETCD:集群的所有狀態都存儲在etcd實例中,并具有監控的能力,因此當etcd中的信息發生變化時,就能夠快速的通知集群中相關的組件。
二、WokerNode組件
1、kubelet:運行在工作節點上的守護進程,它從API Server接收關于pod對象的配置信息并確保它們處于期望的狀態。會在API Server上注冊當前工作節點,定期向Master匯報節點資源使用情況。
2、Kube-Proxy:每一個worker節點都需要運行一個kube-proxy守護進程,它能夠按需為Service資源對象生成IPTABLES或IPVS的規則,從而捕獲訪問當前Service的ClusterIP的流量,并將其轉發至正確的后端pod對象。
3、Container Runtime:負責下載鏡像和運行容器。K8s本身并不提供容器運行時環境,但提供了接口,可以插入所選擇的容器運行時的環境。目前,k8s支持的容器運行時環境至少包括Docker、RKT、CRI-O和Fraki等。kubelet作為客戶端與其進行通信。