kubernetes組成 node
k8s主要包括:docker
kubectl 客戶端命令行工具:api
將接收的命令,發送給kube-apiserver,做爲對整個平臺操做的入口。網絡
kube-apiserver REST API服務:架構
做爲整個系統的控制入口,以REST API的形式公開,能夠橫向擴展在高可用的架構中。工具
kube-controller-manager 多個控制器的合體,用來執行整個系統中的後臺任務,多個控制進程的合體:命令行
Node Controller 負責整個系統中node up 或down的狀態的響應和通知
Replication Controller 負責維持Pods中的正常運行的Pod的個數
Endpoints Controller 負責維持Pods和Service的關聯關係
Service Account & Token Controllers負責爲新的命名空間建立默認的帳號和API訪問的Token
kube-scheduler 任務調度、命令下發代理
負責監視新建立的Pods任務,下發至未分配的節點運行該任務server
kube-proxy 網絡代理轉發:blog
kube-proxy運行在每一個節點上,負責整個網絡規則的鏈接與轉發,使k8s中的service更加抽象化
kubelet 容器的管理
kubelet運行在每一個節點上,做爲整個系統的agent,監視着分配到該節點的Pods任務,負責掛載Pods所依賴的卷組,下載Pods的祕鑰,運行Pods中的容器(一般是docker),週期獲取全部容器的狀態,經過導出Pod和節點的狀態反饋給REST系統;
etcd 信息存儲
flannel IP地址的分配
4、k8s架構圖