K8s架構,(基本概念)

Kubectl:k8s是命令行端,用來發送客戶的操作指令


API server:是k8s集羣的前端接口,各種客戶端工具以及k8s的其他組件可以通過它管理k8s集羣的各種資源,他提供了http/https RESTful API即k8s API


Scheduler:負責決定將pod放在那個node節點上運行,在調度時,會充分考慮集羣的拓撲結構,當前各個節點的負載情況,以及應用對高可用,性能,數據親和性和需求


Controller manager:負責管理集羣的各種資源,保證資源處於預期的狀態,它由多種controller組成,包括Replication controller,Endpoints controller,Namespace controller,Serviceaccounts controller等等


Etcd:負責保存k8s集羣的配置信息和各種資源的狀態信息,當數據發生變化時,etcd會快速的通知k8s相關組件。第三方組件,他有可替換方案(consul,zookee saper)


Pod:k8s集羣的最小組成單位,一個pod內,可以運行一個或多個容器,大多數情況下,一個pod內只有一個container容器


Flannel:是k8s集羣網絡方案,可以保證的跨主機通信,第三方解決方案,也有替換方案


Coredns:域名解析功能


Kubelet:她是node的agent(代理),當scheduler確定某個node上運行pod之後,會將pod的具體配置信息發送給該節點的kubelet,kubelet會根據這些信息創建和運行容器,並向master報告運行狀態


Kube-proxy:負責將訪問service的tcp/udp數據流轉發後到後端的容器,如果有多個副本,kube-proxy會實現負載均橫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章