7、Kubernetes 架構(上)

7、Kubernetes 架構(上)

Kubernetes Cluster 由 Master 和 Node 組成,節點上運行着若干 Kubernetes 服務。前端

(一)Master 節點

​ Master 是 Kubernetes Cluster 的大腦,運行着以下 Daemon 服務:kube-apiserver、kube-scheduler、kube-controller-manager、etcd 和 Pod 網絡(例如 flannel)。api

(1)API Server(kube-apiserver)

​ API Server 提供 HTTP/HTTPS RESTful API,即 Kubernetes API。API Server 是 Kubernetes Cluster 的前端接口,各類客戶端工具(CLI 或 UI)以及 Kubernetes 其餘組件能夠經過它管理 Cluster 的各類資源。網絡

(2)Scheduler(kube-scheduler)

​ Scheduler 負責決定將 Pod 放在哪一個 Node 上運行。Scheduler 在調度時會充分考慮 Cluster 的拓撲結構,當前各個節點的負載,以及應用對高可用、性能、數據親和性的需求。架構

(3)Controller Manager(kube-controller-manager)

​ Controller Manager 負責管理 Cluster 各類資源,保證資源處於預期的狀態。Controller Manager 由多種 controller 組成,包括 replication controller、endpoints controller、namespace controller、serviceaccounts controller 等。工具

​ 不一樣的 controller 管理不一樣的資源。例如 replication controller 管理 Deployment、StatefulSet、DaemonSet 的生命週期,namespace controller 管理 Namespace 資源。性能

(4)etcd

​ etcd 負責保存 Kubernetes Cluster 的配置信息和各類資源的狀態信息。當數據發生變化時,etcd 會快速地通知 Kubernetes 相關組件。spa

(5)Pod 網絡

​ Pod 要可以相互通訊,Kubernetes Cluster 必須部署 Pod 網絡,flannel 是其中一個可選方案。server

相關文章
相關標籤/搜索