docker与openstack的关系

释放双眼,带上耳机,听听看~!

最近Docker和OpenStack是在信息化基础设备虚拟化或云化方面最火的两个开源项目,他们有关系吗,下面来分析分析。

先看看他们分别是什么,我尝试不用网上的高大上术语,而用大白话来解释一下他们,或者刺破他们。

OpenStack:它由很多的组件组成,如果没接触过,基本上你会晕头转向。但是我们只要从它试图要解决的问题来看就不难理解它。它是管理服务器/网络/块存储的工具。关于块存储,简单的理解是把一堆磁盘用软件组合成一个大磁盘给操作系统使用。就是管理一堆服务器,然后在有需要的时候在它的管理界面上分配一些存储/分配IP/创建虚拟机。所以他的最终目的还是管理虚拟机,它于你可能用过的virtualbox、vmware桌面版不同的地方就是你用的那些小东东只能管理你自己那一台机器上的虚拟机,openstack可以管理一堆服务器上的虚拟机,哦,忘了还有有些技术专家常说的网络和存储。

         Docker:简单说它用比虚拟机技术少很多的资源消耗实现了类似于虚拟机的对CPU/磁盘/网络的隔离,同时在AUFS层存储的基础上实现的部署标准化。举例来说你可以在网上下载到安装好mysql、redis的docker 镜像,然后在你的linux环境中运行起来,你也可以把你的应用生成为一个镜像,然后在开发环境运行/然后在正式环境运行,而镜像是层叠的,这意味着上层镜像会非常小。

         很多人说他们不可以比较,其实他们是可以比较的,OpenStack是IaaS层的东西,有人可能不知道IaaS层是什么,简单的说就是把一堆服务器整合起来,然后自由自在的在这些服务器上创建管理很多的虚拟机,还会涉及到网络和磁盘的虚拟化。当然你暂时还是不要想把多个服务器上的CPU合起来变成一个更强大的虚拟机这种美事。而Docker和以Docker为主的swarm或
Kubernetes在虚拟化方面想做的与Openstack基本是一样的事,但相对kvm之类的虚拟机它消耗了更少更少的硬件资源。但是他还做了一些部署标准化,所以docker是一个横跨IaaS和PaaS的东西,或者它刺破了原来对IaaS和PaaS的严格分层,让这些术语或说着这些术语的人们包括我都有些凌乱了。但它又是那么的简捷、有效。

那么问题来了,

问题1:docker和openstack会融合吗?

        会的,目前有几个可能的方向,1.是把docker封装一层,变成类似kvm的虚拟机引擎。2.是把docker运行到openstack管理的虚拟机中。3.是把openstack用到的各个组件装到docker容器,方便部署。我们来仔细分析一下这几个可能的方向。

1.把docker封装成虚拟机引擎,这是一个看起来比较有效和直接的溶合了docker的方案,但,是有问题的,必竟它不是虚拟机,没有实现虚拟机那样对资源彻底的隔离,所以你登录到docker虚拟出来的容器和登录到kvm等虚拟机引擎虚拟出来的虚机上时虽然感觉差不多,但一些涉及到相对低层的命令的执行结果是不一致的。所以docker不是一个好的虚拟机引擎,因为它就不是虚拟机引擎。另一方面,这种方式的集成会屏蔽docker在部署上的优势。所以如果Openstack要全面的溶合docker,那它就不是现在的openstack了,它就不是IaaS层的东东了。

2.把docker运行到openstack管理的虚拟机中,这是虚拟中的虚拟,有点黑客帝国的味道或盗梦空间?土豪的节奏啊,不用评论了。

3.把openstack用到的各个组件装到docker容器上,这个不错,正好是对docker的很好的使用,证明了docker的能力。但是。。。这是溶合吗。

问题2:docker会取代openstack吗?

不知道,但是以docker为代表的容器技术应该会极大的压缩openstack在虚拟机方面的使用空间,哦对了,openstack还会管理网络和存储。但是需要它管理吗,不需要吗。必须要用windows的情况下还是不能用docker的,因为这一点,docker也会一定层度上拉升在服务器领域的linux操作系统占有率。一些需要强硬件资源隔离的场景下还是使用openstack之类的技术的。

给TA打赏
共{{data.count}}人
人已打赏
安全运维

MongoDB数据建模小案例:多列数据结构

2021-12-11 11:36:11

安全运维

Ubuntu上NFS的安装配置

2021-12-19 17:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索