首页  

k8s架构及核心组件     所属分类 k8s 浏览量 685
Master-Slave 架构
Master 负责集群的调度、管理和运维
Slave  集群中的运算工作负载节点

核心组件
Master组件
Node组件
配置存储中心


Master组件 Kube-apiserver Kubernetes API, Rest API 任何资源请求或调用操作 所有对象资源的增删改查和监听操作 读写 Etcd 存储配置等数据 根据用户的具体请求,协调其他组件干活 K8S集群架构的大脑 Kube-controller-manager 运行管理控制器 K8S 集群中处理常规任务的后台线程,是所有资源对象的自动化控制中心 一个资源对应一个控制器,而 Controller manager 负责管理这些控制器的 由一系列控制器组成,通过APIServer监控整个集群的状态,并确保集群处于预期的工作状态 比如当某个Node意外宕机时,Controller Manager会及时发现并执行自动化修复流程 控制器主要包括 Node Controller(节点控制器) 在节点出现故障时发现和响应 Replication Controller (副本控制器) 负责保证集群中一个RC (资源对 象Replication Controller) 所关联的Pod副本数始终保持预设值 确保集群中有且仅有N个Pod实例,N是RC中定义的Pod副本数量 Endpoints Controller (端点控制器) 端点对象 (即连接Services 和Pods) ,负责监听 Service 和 对应的Pod副本的变化 端点是一个服务暴露出来的访问点,访问一个服务,需要知道它的endpoint Service Account & Token Controllers ( 服务帐户和令牌控制器) 为新的命名空间创建默认帐户和API访问令牌 ResourceQuota Controller(资源配额控制器) 确保指定的资源对象在任何时候都不会超量占用系统物理资源 Namespace Controller ( 命名空间控制器) 管理namespace的生命周期 Service Controller (服务控制器) K8S集群与外部的云平台之间的一个接口控制器 Kube-scheduler 负责资源调度,根据调度算法为新创建的Pod选择一个合适的Node节点 部署服务时,根据调度算法选择最合适的Node 节点来部署Podo 预算策略(predicate) 优选策略( priorities)
Node组件 Kubelet Node节点 监视 ,与Master节点通讯 定时向API Server汇报 节点上运行的服务状态 接受Master节点指令 从Master节点获取 节点上Pod的期望状态(比如运行什么容器、运行的副本数量、网络或者存储如何配置等), 直接跟容器引擎交互实现容器的生命周期管理 如果节点上Pod的状态与期望状态不一致,则调用对应的容器平台接口(譬如docker的接口) 进行调整 管理镜像和容器的清理工作,保证节点上镜像不会占满磁盘空间,退出的容器不会占用太多资源 Kube-Proxy 在每个Node节点上实现pod网络代理,是Kubernetes Service 资源的载体, 负责维护网络规则和四层负载均衡工作 负责写入规则至iptables、ipvs 实现服务映射访问 Kube-Proxy本身不直接给Pod 提供网络,Pod的网络是由Kubelet 提供的 Kube-Proxy 实际上维护的是虚拟的Pod集群网络 Kube-apiserver通过监控Kube-Proxy 进行对Kubernetes Service 的更新和端点的维护 K8S集群中微服务的负载均衡是由Kube-proxy实现 K8S集群内部的负载均衡器,是一个分布式代理服务器,在K8S的每个节点上都会运行一个Kube-proxy 组件 容器引擎,运行容器,负责本机的容器创建和管理工作 譬如 docker
配置存储 etcd 分布式键值存储系统,存储 K8S 的关键配置和用户配置 仅API Server 具备读写权限,其他组件必须通过 API Server 接口才能读写数据

上一篇     下一篇
prometheus metrics 格式说明

httpclient 超时设置

Borg Omega and Kubernetes

k8s概述

k8s核心概念

prometheus irate 函数说明