为什么有了Docker还要Kubernetes

“一千个读者眼里有一千个哈姆雷特”。同样的话也适用于 kubernetes,同样的系统在不同的开发人员眼中也是不同的,甚至在不同阶段对于它的理解也截然不同。
在尚未开始使用kubernetes之前,我认为它是一套非常复杂的系统,各种抽象概念以及复杂的安装过程。差点因为安装不顺,打算就此放弃。理由很简单:既然有了 docker,为什么还要 kubernetes?
之所以觉得kubernetes系统复杂、难,关键是不知道它到底是干啥的?再加上老版本繁琐的安装过程,愿意啃它是需要一点毅力的。现在,就通过一张简单的对比图告诉你,它到底干了啥!
单看图示上部分,发生的变化仅仅是host换成了pod,底层网络由真实网络换成了覆盖网络,即虚拟网络。对于app应用开发者而言, 即使你完全不懂容器技术也没关系.这是kubernetes的厉害之处,它提供的抽象层对于app应用开发者而言是完全透明的。应用在pod中和在host主机上并没有本质区别。
还是老问题:既然有了 docker,为什么还要 kubernetes?
回答这个问题,得从为什么需要引入docker这个问题先开始。你会说,因为需要容器化部署。那为什么需要容器化部署呢?就这个问题还可以走得更远一点。这里我就偷懒了,先打住。看看容器化部署后出现的新问题,即容器实例越来越多。因为容器实例越来越多,就像鸡蛋太多需要一个篮子来装一样,kubernetes就是那个篮子。当然这不是一个简单的篮子,此处也不扩展了。
标准答案就是:因为有了 docker,所以才要kubernetes。是不是感觉进入一个loop,我也这感觉。
从图中也可以看出,docker容器技术是kubernetes平台的基础。容器技术主要作用是隔离,通过对系统的关键资源的隔离,实现了主机抽象。kubernetes平台则是在抽象主机的基础上,实现了集群抽象。
用一句话做个总结,就是:
容器,提供应用级的系统抽象;kubernetes,提供应用级的集群抽象。
小结
一篇短文,希望可以帮到还徘徊在kubernetes大门之外的初学者。当然,新版本kubernetes已经非常容易安装了。

北京召开中国区块链技术创新发展论坛,探寻区块链技术创新和多领域应用
SpaceX成功执行第17次星链卫星发射任务
行业龙头牵手,打造智能网联自动驾驶产业高地
笔记本电脑内部时钟电路及检修
TD-SCDMA功率放大器模块SKY77161的性能特点及应用
为什么有了Docker还要Kubernetes
全方面解读本田1.5L直喷发动机技术
业务调整 索尼对EP&S部门进行拆分
史密斯英特康参与为JAXA开发G波段卫星的项目合作
集成电路维修与替换
斯塔克曼: 大众汽车的电动汽车“必须赚钱”
最新vivo TWS 2真无线降噪耳机体验如何?
风力发电广播对讲解决方案
RF24-70mm F2.8 L IS USM 体验 表现可以说是相当的惊艳
欧菲光拟以 1.04 亿元出售与非美国大客户触控显示业务相关无形资产
除静电离子风嘴的工业优势
如何理解ARM异常、中断和向量表
降噪耳机哪款好_降噪无线蓝牙耳机推荐
5G商用正式开启,苹果落后已成必然!
618预售五大爆款蓝牙耳机推荐