K8S入门系列(一):Kubernetes的历史(由来)与架构

转载:K8S历史与架构

摘要:

环境不一致使得应用部署出现了各种问题,从而产生了Docker容器来解决应用部署的问题。而大集群上容器的部署、伸缩和管理的各种问题,衍生出来了容器编排引擎,比较出名的有K8S(Kubernetes) 和 Docker Swarm。

 

Kubernetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统。主要功能是生产环境的容器编排。

 

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的各个概念。

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值