kubernets 架构
kubernet 代理和 master 组件(API,etcd,scheduler)一切都基于分布式存储系统。
如下图
截屏2019-11-05上午10.50.29.png
kubernets 节点
在这张系统架构图中,我们把服务分为运行在工作节点上的服务和组成集群级别控制板的服务。
Kubernetes节点有运行应用容器必备的服务,而这些都是受Master的控制。
每次个节点上当然都要运行Docker。Docker来负责所有具体的映像下载和容器运行。
Kubernetes主要由以下几个核心组件组成:
- etcd :保存了整个集群的状态信息。
ETCD使用Raft协议来维护集群内各个节点状态的一致性。简单说,ETCD集群是一个分布式系统,由多个节点相互通信构成整体对外服务,每个节点都存储了完整的数据,并且通过Raft协议保证每个节点维护的数据是一致的。
apiserver : apiserver 提供了资源操作的唯一入口,并提供了认证、授权、访问控制、API 注册和发现等机制。
controller manager 负责维护集群的状态。比如滚动更新、故障检测、自动扩展等。
scheduler 负责资源的调度,按照预定的策略将 pod 调到相应的机器上。
kuberlet 负责维护容器的生命周期,和Volume(CVI)和网络(CNI)的管理。
Container Runtime 负责镜像管理以及POD和容器的真正运行(CRI);
Kuber_proxy 负责为Server和cluster提供集群日志采集,存储与查询
