首页

文章

用Docker之后还需要OpenStack吗

发布网友 发布时间:2022-03-26 10:01

我来回答

1个回答

热心网友 时间:2022-03-26 11:30

Solomon Hykes创立了Docker,没有想到过Docker会人气爆棚,成为仅次于OpenStack的最受欢迎的云开源项目。

然而听说过Docker的朋友很少知道其真正的意义,很多人会被各种概念混淆,甚至把OpenStack和Docker进行类比,三周前看到一篇好文章(虽然发此篇时间上已经优势全无,但依仗我们精准的理解,翻译和挑选眼光,还是决定无耻滴发了),答案可以在以下这篇Nati Shalom的博文中找到,在此感谢朱荣泽同学的技术翻译矫正。

Docker从一个新兴的技术到一个商品化模式,这一过程的发展速度很惊人,它炙手可热的同时也给带来一些困惑。

笔者从一些刚开始用Docker的同学听到一些评论和疑问: 假如用了Docker再去用OpenStack是否合适?
讨论之前,先介绍Docker的相关背景:
简单来说,Docker提供了一种程序运行的容器,同时保证这些容器相互隔离。虚拟机也有类似的功能,但是它通过Hypervisor创建了一个完整的操作系统栈。不同于虚拟机的方式,Docker依赖于Linux自带的LXC(Linux Containers)技术。LXC利用了Linux可以对进程做内存、CPU、网络隔离的特性。Docker镜像不需要新启动一个操作系统,因此提供了一种轻量级的打包和运行程序的方式。而且Docker能够直接访问硬件,从而使它的I/O操作比虚拟机要快得多。Docker可以直接跑在物理服务器上,这引起大家的疑问:假如已经用了Docker,还有必要使用OpenStack吗?
最近Boden Russell在DockerCon上做了关于Docker和KVM的性能测试对比图表。和预期的一样,启动KVM和Docker容器的时间差异非常显著,而且在内存和CPU利用率上,双方差距非常大,如下表所示。

双方巨大的性能差异,导致了在相同工作负载下,KVM需要更多的CPU和内存资源,导致成本上升。
观点如下:
1,这个问题和OpenStack没有直接的联系,也可以套在其他云平台上。大家为什么会拿Docker和OpenStack做比较的原因是:OpenStack是私有云环境中最流行的云平台,在私有云环境中,大家认为可以把Docker作为另一种选择。
2,有关于Hypervisor的误区:
很多KVM和Docker的性能测试的对比跟OpenStack一点关系都没有,因为OpenStack只是一种框架。事实上这种性能测试(不管是KVM还是Docker)是跑在OpenStack下,这表明了KVM和Docker可以共存。当使用OpenStack去管理Docker情况下,Docker和OpenStack的争论是没有意义的。

3,云平台提供一个完整管理数据中心的解决方案,至于用哪种hypervisor或container只是云平台中的一个小部分。像OpenStack这样的云平台包含了多租户的安全、隔离、管理、监控、存储、网络等其他部分。云数据中心的管理需要很多服务支撑,但这和用Docker还是KVM其实没多大关系。
4,Docker不是一个全功能的VM, 它有很多严重的缺陷,比如安全、Windows支持,因此不能完全替代KVM。现在Docker社区一直在弥补这些缺陷,当然这会带来一定的性能损耗。
5,原生hypervisor的性能、容器化的性能、应用的性能是不一样的东西,相互对比没有意义。

6,把Docker容器打包进KVM镜像中对Docker运行几乎没有影响。这种架构通常是用hypervisor来管理计算资源,而像Heat、Cloudify、Kubernetes这样的的orchestration layer都用于管理在hypervisor中的docker容器。
结论:
正确看待OpenStack、KVM、Docker的方式应该是: OpenStack用于管理整个数据中心,KVM和Docker作为相应的补充,KVM用于多租户的计算资源管理,Docker Container用于应用程序的打包部署。
在这种场景下,Docker的作用是:
1,Docker提供一种特定的软件打包方式,使得软件可以保持在相同的环境下运行。
2,Docker为微服务提供了很好的容器。
3,Docker在OpenStac、裸机上运行几乎一样。
总得来说,对于大部分的应用场景,使用那种云平台都可以。比如我要给一个DevOps小组提供自动化开发和测试环境,我会考虑直接在物理服务器上跑Docker。
Orchestration对于这两种环境(OpenStack和Docker)是很好的抽象工具。
使用Docker的Orchestration框架的好处是可以在任意时候在OpenStack和裸机环境中切换,也就是说你可以指定Docker跑在OpenStack或裸机环境中。OpenStack Orchestration工具Heat从Icehouse版本开始支持Docker。Cloudify是一个基于开源TOSCA 的Orchestration,它可以跑在openstack、VMwara、AWS、裸机环境中,最近也支持Docker。
贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 进出口报关流程,越详细越好。谢谢大家指教。 双线桥不是看化合价升多少就标多少的吗?为什么CL2+2KI=2KCL+I2中I失... 出师表高锰酸钾有画面了吗 2021年幼儿园新学期致家长一封信 电脑屏幕一条黑线怎么办? 销售代理商销售代理商的特点 商业代理商业代理的特征 如何看微信有没有开通微众银行 为什么微众没有开户 微众银行怎么开户 微众银行APP开户流程是什么? 唐古拉山海拔唐古拉山海拔是多少 怎么看待取消跳广场舞的人的退休金 如何选购新鲜的蓝田水柿? 恭城水柿柿树作用 创维洗衣机使用教程 创维全自动洗衣机怎么使用 自动开门器 狗羊属相婚姻相配吗 3岁的小孩不会说话怎么办 3岁孩子不会说话,应该挂什么科? 3岁小孩不会说话正常吗 鹿茸炖乌鸡怎么做? 新型冠状肺炎吃什么药可以预防 冰箱上电后一直响 食品生产许可证编号开头为“ G”。 库存过期香精 docker有哪些有趣的用途? docker对运维的作用 什么是docker docker容器对开发人员来说有什么好处 Docker 有什么优势 docker的好处,为什么使用docker来部署服务器 Docker究竟是什么,为什么这么流行,它的优点和缺陷有哪些 docker技术有什么用? Docker是什么? docker是干什么的? 华为手机云备份有必要吗 华为手机一定要升级云储空间吗? 关闭华为手机云空间对使用有什么影响 华为手机云备份是需要开启吗 华为手机云备份是需要开启吗? 华为的这个云存储空间有用吗?不用行吗 计算机的软件系统包括哪些内容? 计算机软件系统是由哪两部分组成 计算机的软件系统包括什么和应用软件? 计算机软件是如何分类的?一个计算机软件系统主要由什么组成? 入门运维为什么要学Docker docker和虚拟机的区别 知乎 如果决定使用Docker,是否有必要同时使用OpenStack Docker的主要作用是什么? 虚拟机与Docker有何不同 软件系统的主要功能 简述计算机软件系统的分类及其功能 系统软件的功能之一是什么 计算机软件系统的组成和功能 计算机软件系统的组成和功能? 局域网的硬件系统和软件系统实现什么功能 软件的作用是什么 一个软件系统通常包括哪几个部分,它们的作用是什么? crm管理软件系统有哪些功能呢? 计算机系统软件与作用有哪些 APP系统软件功能有哪些? 微信群退出后原来发在群里的消息会保畄吗? 群里报账合伙人退群信息还有吗 qq群退群后之前发的消息还在吗 怎样查找美团上的账单
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com