容器——“轻量级”的虚拟化

什么是容器?大佬们经常说的docker和k8s,又是什么呢?
人们在使用虚拟化一段时间后,发现它存在一些问题:不同的用户,有时候只是希望运行各自的一些简单程序,跑一个小进程。为了不相互影响,就要建立虚拟机。如果建虚拟机,显然浪费就会有点大,而且操作也比较复杂,花费时间也会比较长。
而且,有的时候,想要迁移自己的服务程序,就要迁移整个虚拟机。显然,迁移过程也会很复杂。
有没有办法更灵活快速一些呢?
有,这就引入了“容器(container)”。
容器也是虚拟化,但是属于“轻量级”的虚拟化。它的目的和虚拟机一样,都是为了创造“隔离环境”。但是,它又和虚拟机有很大的不同——虚拟机是操作系统级别的资源隔离,而容器本质上是进程级的资源隔离。
虚拟化 vs 容器
而大家常听说的docker,就是创建容器的工具,是应用容器引擎。
docker的中文意思,就是码头工人。而它的logo,就是一只鲸鱼背着很多货柜箱。
相比于传统的虚拟机,docker的优势很明显,它启动时间很快,是秒级,而且对资源的利用率很高(一台主机可以同时运行几千个docker容器)。此外,它占的空间很小,虚拟机一般要几gb到几十gb,而容器只需要mb级甚至kb级。
除了docker对容器进行创建之外,我们还需要一个工具,对容器进行编排。
这个工具,就是k8s。
k8s,就是kubernetes,中文意思是舵手或导航员。kubernetes这个单词很长,所以大家把中间8个字母缩写成8,就成了k8s。
k8s是一个容器集群管理系统,主要职责是容器编排(container orchestration)——启动容器,自动化部署、扩展和管理容器应用,还有回收容器。
简单来说,k8s有点像容器的保姆。它负责管理容器在哪个机器上运行,监控容器是否存在问题,控制容器和外界的通信,等等。
通过下面这张k8s系统结构图,就能够看出k8s和容器之间的关系。
除了k8s之外,还有很多种容器管理平台,例如compose,marathon,swarm,mesos等。
docker和k8s,关注的不再是基础设施和物理资源,而是应用层,所以,就属于paas。明白了吧?

配网故障定位:提升电力供应可靠性的重要手段
村田制作所开发出新型收发模块--TransferJet
桥式整流电路详解:定义,电路分析,桥式整流和全波整流的区别,应用
上班通勤用什么蓝牙耳机比较好?千元内好用的蓝牙耳机盘点
安全“新”解读 | 人员定位&智慧电厂,释放安全新能量!
容器——“轻量级”的虚拟化
曝华为P40 Pro将后置五颗摄像头 Pro版与普通版造型基本相同
电机绕组匝间短路原因及处理方法
2016年手机最佳设计奖给魅族PRO6, 你觉得如何
电源风扇冷却的气流方向是什么
芯生态 | 拓展应用生态建设 近期适配亮点产品速览
来自太空的支持:初创公司密切关注全球天然气管道泄漏情况
硬件工程师对未来发展感到迷茫?不如看看这篇文章
非隔离型DC-DC变换器的布线注意事项
服务器CPU占用率高的定位分析
电动车电瓶数码修复器
华为胡厚崑:变革在即,2020年视频市场规模将达7000亿美元
光纤熔接机的基本工作原理与分类
IEC61439电气标准:低压成套开关设备和控制设备试验方法
LED路灯防雷的必要性