Kubernetes核心原理简单总结(一)
2017-08-14 23:24
281 查看
1、kubernetes APIserver
1)提供了集群管理的API接口
2)是集群内各个功能模块之间数据交互和通信的中心枢纽
3)拥有完备的集群安全机制
API通过 apiserver进程提供服务,该进程在master节点上。该进程包括两个端口:本地端口,默认是8080端口和安全端口,默认6443端口;集群内的功能模块通过API
server将信息存入Etcd,其他模块通过API server读取这些信息,从而实现模块间的通信。
2、Controller Manager(控制器)
Controller Manager是集群内部的控制管理中心,负责集群内Node、pod副本、服务端点、命名空间、服务账号、资源定额等的管理并执行自动化修复流程。
内部包含:
1)Replication Controller:作用是确保任何时候集群中一个资源对象(RC)所关联的Pod都保持一定数量的Pod副本处于正常运行状态。
2)Node controller:负责发现、管理和监控集群中的各个 Node节点。
3)ResourceQuota Controller:提供资源配额管理;
4)Namespace Controller:定时读取Namespace信息,进行修改删除;
5)ServiceAccount Controller和Tocken Controller:与安全相关的控制器;
6)Service Controller:监控Service的变化。
7)Endpoints Controller:通过Store来缓存Service和pod信息,监控Service和Pod的变化。
3、Kubernetes Scheduler(调度模块)
Kubernetes scheduler 负责Pod调度的重要功能模块,负责接收Controller Mannager调度的pod
(创建的新Pod)按照特定的调度算法策略绑定的集群中合适的Node上,并将绑定信息写入Etcd中。
默认的调度流程:
1)预选调度过程,遍历所有的Node节点,筛选出符合要求的候选节点(内置了多种筛选策略);
2)确定最优节点,在第一步的基础上采用优先策略计算每个候选节点的积分,积分高的胜出。
4、Kubelet
该进程处理Master节点上下发到本节点的任务,管理Pod及pod中的容器。每个Kubelet都会在API
server上注册节点自身的信息,定期向MAster节点汇报节点资源的使用情况。Node节点上的Kubelet通过API-server监听到Kubernetes
Scheduler产生的Pod绑定事件,然后获取pod清单,下载镜像,并启动容器。
5、Kube-proxy(代理)
Kube-proxy充当kubernetes中Service的负载均衡器和服务代理的角色。service是一组pod的服务抽象,相当于一组pod的LB,负责将请求分发给对应的pod。service会为这个LB提供一个IP,一般称为cluster
IP。kube-proxy的作用主要是负责service的实现,具体来说,就是实现了内部从pod到service和外部的从node
port向service的访问。
1)提供了集群管理的API接口
2)是集群内各个功能模块之间数据交互和通信的中心枢纽
3)拥有完备的集群安全机制
API通过 apiserver进程提供服务,该进程在master节点上。该进程包括两个端口:本地端口,默认是8080端口和安全端口,默认6443端口;集群内的功能模块通过API
server将信息存入Etcd,其他模块通过API server读取这些信息,从而实现模块间的通信。
2、Controller Manager(控制器)
Controller Manager是集群内部的控制管理中心,负责集群内Node、pod副本、服务端点、命名空间、服务账号、资源定额等的管理并执行自动化修复流程。
内部包含:
1)Replication Controller:作用是确保任何时候集群中一个资源对象(RC)所关联的Pod都保持一定数量的Pod副本处于正常运行状态。
2)Node controller:负责发现、管理和监控集群中的各个 Node节点。
3)ResourceQuota Controller:提供资源配额管理;
4)Namespace Controller:定时读取Namespace信息,进行修改删除;
5)ServiceAccount Controller和Tocken Controller:与安全相关的控制器;
6)Service Controller:监控Service的变化。
7)Endpoints Controller:通过Store来缓存Service和pod信息,监控Service和Pod的变化。
3、Kubernetes Scheduler(调度模块)
Kubernetes scheduler 负责Pod调度的重要功能模块,负责接收Controller Mannager调度的pod
(创建的新Pod)按照特定的调度算法策略绑定的集群中合适的Node上,并将绑定信息写入Etcd中。
默认的调度流程:
1)预选调度过程,遍历所有的Node节点,筛选出符合要求的候选节点(内置了多种筛选策略);
2)确定最优节点,在第一步的基础上采用优先策略计算每个候选节点的积分,积分高的胜出。
4、Kubelet
该进程处理Master节点上下发到本节点的任务,管理Pod及pod中的容器。每个Kubelet都会在API
server上注册节点自身的信息,定期向MAster节点汇报节点资源的使用情况。Node节点上的Kubelet通过API-server监听到Kubernetes
Scheduler产生的Pod绑定事件,然后获取pod清单,下载镜像,并启动容器。
5、Kube-proxy(代理)
Kube-proxy充当kubernetes中Service的负载均衡器和服务代理的角色。service是一组pod的服务抽象,相当于一组pod的LB,负责将请求分发给对应的pod。service会为这个LB提供一个IP,一般称为cluster
IP。kube-proxy的作用主要是负责service的实现,具体来说,就是实现了内部从pod到service和外部的从node
port向service的访问。
相关文章推荐
- JDK核心API:Java1.5语言新特性简单总结
- Kubernetes核心概念总结
- 《逆向工程核心原理》学习总结(四) - PE文件格式
- 大型网站技术架构核心原理与案例分析--第四章(总结待续)
- Kubernetes核心概念总结
- Kubernetes 核心原理 之二
- [wxWidgets]_[初级]_[简单应用看wx的核心原理]
- Kubernetes核心概念总结
- 大型网站技术架构核心原理与案例分析--第二、三章(总结待续)
- Kubernetes核心原理(一)之API Server
- Kubernetes核心原理(一)之API Server
- [wxWidgets]_[初级]_[简单应用看wx的核心原理]
- Kubernetes 核心原理 之一
- 自学笔记:最最简单和基本的TENSORFLOW原理总结
- 机器学习算法原理总结系列---算法基础之(8)简单线性回归(Simple Linear Regression)
- TIM102数据手册核心部分翻译及简单的用法总结
- [置顶] Kubernetes核心概念总结
- 逆向工程核心原理学习笔记(七):总结
- event核心[wxWidgets]_[简单应用看wx的核心原理]
- Kubernetes核心概念总结