~阿弥陀佛~

人生能有多少天是按照自己的想法去活着

kubernetes前世今生

【适合学习人群: 软件工程师,测试,运维,架构师,项目经理等等】

kubernetes简称K8S8的由来是因为KS之间有8个单词。因此简称K8S

1.  发展经历

对于云计算来说有一些交互标准

IAAS  infrastructure as a service  基础设施级服务  典型厂商:阿里云

PAAS  platform as a service 平台级服务     典型:新浪云号称免运维,docker

SAAS  software as a service  软件设施级服务  典型: office套件

 

2PAAS更替:

  传统状态:用户下单至云厂商(新浪)派出运维构建环境

自动化: ansible

容器集群化:资源管理器

 

3.资源管理器

(1)apache–MESOS,在apache的基金会下,开源的分布式的资源管理框架,是一个比较古老的资源管理器,最开始不是为了容器化产生的,而是作为一个基础的资源管理平台,MESOSapache下的开源的分布式的资源管理框架,被称为分布式系统的内核。推特最初的基础平台大规模使用,20195月推特淘汰MESOS,宣布改为k8s

MESOS最新版官方公布:在MESOS平台上管理K8S,效果未知。因此众多企业考虑到K8S跟底层物理化或虚拟化的相容已经非常简单,没有必要再加一层mesos,软件的添加意味着会诞生一个新的故障节点。

(2)Docker Swarmdocker公司开发的一款资源管理器,实现docker集群化方案。主要针对docker做的,其他的容器组件可能不支持,占用资源轻量。但是功能相对于K8S太少,比如实现回滚更新功能在swarm里实现特别难,需要手工去定义流程。 除了功能外swarm的架构还是非常适用于大型环境能够支持上千节点。然而由于K8S诸多优势,也被一众企业放弃,比如典型的阿里云将swarm剔除,不支持该组件使用。

3)谷歌– kubernetes :功能全面,稳定,适合企业应用,

谷歌在十年前就已经通过容器化基础架构,形成了borg资源管理器, 由于当前容器化发展迅速,很多企业开始研究资源管理器,于是谷歌为了稳固其行业第一地位,不得不用go语言基于borg的设计理念开发出了kerbernetes,并且开源给了容器基金会,成为了当前的标准

特点 轻量级,不同于其他资源管理器,java perl语言等,都是解释性语言,效率低下并且消耗大量内存,不够轻量。 go语言被誉为现代的C语言,解释性语言,效率和C看齐,但是比C好的一点,它在我们的语言级别支持进程管理,不需要人为控制,因此其消耗资源非常少。

       开源。

       弹性伸缩, 假如资源不够用,比如从5台扩展到10台,平缓升级,加节点后又要重启,又要改配置等等。 K8S环境里只需要一条命令就可以实现弹性伸缩。

       负载均衡,K8S内部已经实现模块之间的负载均衡 完全不需要搭建调度器,由K8S本机去实现,并且最新版本中的框架采用了IPVS的框架(国人的骄傲,章文嵩博士研发,其负载能力在软件中为老大哥的地位)。

Next Post

Previous Post

Leave a Reply

© 2021 ~阿弥陀佛~

ICP备案号: 京ICP备19038630号

版权所有@ 王力翔

耗时 0.185 秒 | 查询 41 次 | 内存 22.33 MB