您现在的位置是:首页 > 文章详情
K8S历史与架构(一)
日期:2018-06-10点击:574收藏
Kubernetes是一个针对容器应用,进行自动部署,弹性伸缩,和管理的开源系统。主要功能是生产环境的容器编排。
image.png
Kubernetes名字太长了,叫起来有点麻烦,而Kubernetes首字母与结尾字母之间有8个字母,因此被称作K8S。
K8S历史
K8S是建立在谷歌内部有超过15年的历史,来源于谷歌内部的Borg系统,集结了Borg的精华。
- 2014年6月 谷歌云计算专家埃里克·布鲁尔(Eric Brewer)在旧金山的发布会为这款新的开源工具揭牌。
- 2015年7月22日K8S迭代到 v 1.0并正式对外公布
- 大约每100天更新一次,如今已是 V 1.10版本
K8S的架构
我们先从简单的架构图看,下图所示架构,提供了松耦合的服务发现。像大多数的分布式系统,K8S集群至少需要一个主节点(Master)和多个计算节点(Node)。
- 主节点主要用于暴露API,调度部署,和节点的管理。
- 计算节点运行一个容器运行环境,如Docker或rkt,同时运行一个K8S的代理用于同主节点通信。计算节点也会运行一些额外的组件,像记录日志,节点监控,服务发现等等。计算节点是K8S集群中真正工作的节点。
K8S缩略架构图
K8S架构继续细分:
K8S架构细分
主节点运行组件:
- Api Server提供了资源操作的唯一入口,并提供认证、授权、访问控制、API注册和发现等机制;
- Scheduler负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
- etcd保存了整个集群的状态;
- Controller manager负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;
K8S 主节点
K8S的计算节点:
- kube-proxy负责为Service提供cluster内部的服务发现和负载均衡;
- Docker为容器的运行环境
- kubelet负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理,一般运行在所有的节点
- Fluentd主要做日志收集、存储与查询,可使用其它的组件代替。
- 可选的kube-dns负责为整个集群提供DNS服务
K8S计算节点
最后
这篇文章,我们简单的介绍下K8S的历史与架构,能对K8S心中有个大概,下面一篇我们详细的梳理K8S的各个概念。
参考
另外
我在知识星球开通了一个交流群,免费的。希望能和大家一起交流学习,进群的可以获得500G Java学习资料奥,多年的收藏,除了Java之外,还收藏了IOS,Linux,Android相关资料。想要的也可以找我拿。
猩球图片
关注公众号
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
扫描即可查看该文章
点击排行
推荐阅读
最新文章
- MySQL8.0.19开启GTID主从同步CentOS8
- Red5直播服务器,属于Java语言的直播服务器
- Docker容器配置,解决镜像无法拉取问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2整合Thymeleaf,官方推荐html解决方案

微信收款码
支付宝收款码