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

相关文章
相关标签/搜索