当前位置:首页 > 技术分析 > 正文内容

你是否需要一个容器专用的Linux发行版本?

ruisui883个月前 (02-03)技术分析14

单单使用容器是不够的,提供商们认为你需要一个容器专用的Linux发行版本。

我们可以让容器在不同的操作系统上运行,不同的操作系统都有自己的虚拟化服务,如:Solaris Zones、BSD Jails、Linux Docker(Windows现在也支持Docker了)、Linux OpenVZ等等。特别是在Docker和容器技术突然流行开来,操作系统公司正在采取不同的策略。他们认为,大部分容器,应该用瘦操作系统制作。

为什么?(当然,除了给他们一个新的收入来源)

Alex Polvi,CoreOS的CEO,第一个发行了针对轻量级、容器友好的Linux系统的Linux公司,解释道:”我们认为我们可以进一步让容器达到操作系统无关“

如何办到?Polvi意识到容器可以将应用程序与操作系统隔离,使宿主操作系统切换不影响应用程序正常运行。为了让容器更有效的运行,你会希望宿主操作系统只提供满足容器运行的最少服务。

然后,从谷歌是如何更新Chrome OS中可以借鉴(请注意,CoreOS一开始就是fork自Chrome OS的),Polvi认为容器服务器也可以自动更新,相应的,也会极大提升操作系统打补丁的速度。

所以,Polvi继续说道,”如果所有这些都能自动更新,你再也不用担心?CoreOS就像一个有组织的团体,帮你维护操作系统,你只需要关注应用程序的正常运行。

所以,CoreOS所做的,或者其他操作系统现在或者将来要做的,就是维护一个非常小的操作系统内核,只提供最基础的服务。在这种模式下,无需操作系统更新升级。取而代之的是,等待服务器关闭,由于在云端,总会有其他的服务器接管容器,等接管完成后,可以将旧的OS替换成新的版本。

这种方式可以快速提供最新的更新,用户感知不到任何停机时间的。有了这个机制,你也可以提供一个跨整个数据中心或云的一致的操作系统,不存在集群中有系统没打补丁,或者补丁不一致.

这种方法的另一个优点是,如果新版本出现了什么问题,你可以随时回滚到一个先前的、安全的版本。正如Red Hat公司产品技术总裁Paul Cormier在最近的博客文章中说,"Linux的容器,扩充和依赖取决于操作系统的一致性。"

这个想法已经深入民心像打得火热。现在,除了CoreOS,红帽Red Hat Enterprise Linux 7 Atomic Host (RHELAH)、Canonical公司Ubuntu Core,惊人的是,VMware也将发行它的第一个Linux发行版Photon。

此外,如果有人只想试用Docker容器可以使用boot2docker。这个微小的Linux发行版仅有27Megabytes大小。它是基于Tiny Core Linux,并且是专门为运行Docker容器定制的。

容器友好的操作系统有一个共同点,对于Docker来说:

  • 通过事务升级/回滚语义来保证稳定性;
  • 传统的包管理器不存在,且可以通过新的打包系统(Snappy)或自定义镜像构建(Atomic)所取代;
  • 安全性是通过各种隔离机制来保证;
  • Systemd提供了系统启动和管理。

那么,他们彼此又是如何的不同?这仍然需要一些时日去发展。即使是其中最古老的操作系统CoreOS,也还没有达到它的第二个生日呢。以下是迄今为止我们所知道。

CoreOS

Polvi在接受采访时说, "CoreOS从一开始就设计为“可自动更新的服务器,这和人们之前所认识的服务器很不同。如果一切正常,我们认为我们可能解锁了很多价值,它拥有安全性、可靠性、性能,所有最新版本软件所具有的一切。“

CoreOS设法使用FastPatch做到这一点。这样,更新的时候是直接更新完整的系统,而不是一个又一个的升级补丁。

至于容器,CoreOS开始作为Docker的最好的朋友。但随后,Polvi说,“Docker开始成为一个平台,在其本身,因此它会与现有的平台竞争。这很好。我明白,如果他们想建立一个平台,作为一个公司,这有很大的商业意义。问题是,对于构建平台,我们仍然需要的是一个简单的组件。“

在2014年十二月Polvi解释说:“我们以为Docker会成为一个简单的单元,我们都同意。不幸的是,一个简单的可重复使用的组件变得越来越复杂。现在Docker正在开发启动云服务的工具,用于云计算的服务器,系统集群和很多其他的功能:构建镜像、运行镜像、上传、下载,并最终甚至覆盖网络,所有编译成一个整体的二进制程序作为root权限运行在服务器上...这不是我们曾设想的像使用组合积木一样简单。“因此,CoreOS开发了自己的容器Rocket。

CoreOS仍然还是支持Docker的,但是很快的Rocket将成为其主要的容器。

RHELAH

红帽还看到了一支精干的技术优势,是指Linux操作系统。他们开始做这个工作,那就是 项目Atom。这个开源的操作系统,目前可以选择是基于Fedora、CentOS,或者是RHEL。

在此基础上,红帽开发了RHELAH。这个操作系统是基于在RHEL7。它具有像镜像一样原子更新和回滚的功能。红帽为Docker贡献了自己的容器技术。

据红帽所公布的资料,RHELAH拥有超过其竞争对手的许多优点。这包括能够“直接运行在硬件以及公共或私人虚拟化基础架构。”此外,红帽添加了对SELinux的支持,提高了系统安全性。

Ubuntu Core

Canonical,创建Ubuntu的公司,正在尝试与CoreOS和Red Hat不同的方法。当然它也有写部分与其他的是相似的。 Canonical公司声称:“Ubuntu Core是最小的、负载最低的Ubuntu,完美适合超高密度容器云计算,Docker的应用程序部署或平台即服务(PaaS)的云环境。Ubuntu Core是专们为效率所开发,具有最小的运行时占用空间,拥有同行业中最好的安全配置文件:这是一个引擎、底盘和车轮,没有奢侈品,正是您所需要的大规模并行系统。“

虽然你可以通过镜像更新Ubuntu core和“Snappy”的应用程序,Canonical的Snappy包管理系统使用元数据文件和构建工具来创建一个新的Snappy的应用程序。”据Ubuntu的创始人Mark Shuttleworth所说,“这个短小精悍的系统使Ubuntu的各部分保持独立,只读文件,并且每个应用程序都是如此。这样,开发人员可以确信所有他们应用程序所需要的,将完全按照他们所预想一样正常运行,我们可以采取措施来保持各种应用程序彼此隔离,并确保更新总是完美的。

此外,Ubuntu使用AppArmor的内核系统来保证安全性。理想情况下,在snappy版本的Ubuntu中,应用程序是完全彼此隔离的。

VMware Photon

还记得VMware的联合创始人Mendel Rosenblum曾表示,操作系统早在2007年已经过时?我也这么认为。然而事情发生了变化。Rosenblum说对了一半,虚拟化技术正在改变世界 - 没有它我们不会有云服务,但操作系统仍和以前一样重要。所以,也许这并不奇怪,面对容器浪潮,VMware已经采用了这两种容器技术,并发布了自己的第一个Alpha版本Linux操作系统Photon。

当然VMware并没有放弃它的虚拟机(VM)的方式——Photon目前只能运行在VMware vSphere和VMware vCloud Air。总之,VMware的认为,应该在虚拟机上运行容器,而不是在原生操作系统上运行容器,这是未来的发展方向。那么,考虑到其商业模式,当然VMware的一样。

该公司是两面下注,加入到容器技术。 VMware正在支持Docker、CoreOS Rocket和Pivotal's Garden容器格式。

VMware还发布了Lightwave,一种容器的身份和访问管理方案。

那么,哪一个会胜出?你会选择哪一種容器?

我也不知道。

我确实不知道。

CoreOS显然已比别人有更多的经验。他们也是迄今为止体积最小、最年轻的公司。红帽带来了可观的资源来提高我们的服务,但Canonical公司并没有懈怠。至于VMware的,他们才刚开始加入容器技术,但他们非常了解虚拟化技术的前世今生。

这些都是在一个新的领域的新项目。我会去尝试所有这些这项,看我自己的IT需求,然后决定其中哪些是值得一试的程序。那是什么?你想要立即在你们公司内部应用?我不这么认为!这些技术都不太成熟。

英文原文:Do you need a container-specific Linux distribution?(译者/施聪羽 审校/朱正贵 责编/魏伟)

关于译者:施聪羽,浩渺科技服务端研发工程师,关注大数据处理。

【预告】 首届中国人工智能大会(CCAI 2015)将于7月26-27日在北京友谊宾馆召开。机器学习与模式识别、大数据的机遇与挑战、人工智能与认知科学、智能机器人四个主题专家云集。人工智能产品库将同步上线,预约咨询:QQ:1192936057。欢迎关注。

更多Container技术资讯,请扫描下方二维码关注我们

或者扫描下方二维码进入CSDN Container用户群讨论

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/953.html

分享给朋友:

“你是否需要一个容器专用的Linux发行版本?” 的相关文章

学会使用Vue JSX,一车老干妈都是你的

作者:子君转发链接:https://mp.weixin.qq.com/s/eAOivpHeowLShfwPfW8-BA?君自前端来,应知前端事。需求时时变,bug改不完。?连续几篇文章,每篇都有女神,被老铁给吐槽了,今天不提了女神了,反正女神都是别人的(扎心了)。这两天小编看了腾讯与老干妈的事情,晚...

Gitlab+Jenkins通过钩子实现自动部署web项目,图文详细教程

扩展参考:Jenkins+Gitlab通过脚本自动部署回滚web项目至集群 一:基础环境介绍及准备1):Gitlab服务器:ubuntu 192.168.152.131 ---参考搭建:Linux安装gitlab,docker安装gitlab教程2):Jenkins服务器:ubunu 192.168...

使用cgroup限制进程资源

这里使用containerd项目中的cgroup包来实现进程资源限制。先写一个耗费一个CPU并且一秒增加10m内存的测试进程package mainimport ( "fmt" "math/rand" "time")func main() { go f...

博信股份新战略后再推新品 TOPPERS E2耳机售价199元

中新网6月21日电 20日,博信股份在北京正式推出新品TOPPERS主动降噪耳机E2,这是博信股份继2月战略暨新品发布会后的第二次新品亮相。价格方面,TOPPERS主动降噪耳机E2零售价199元,并于6月20日下午4点在京东商城公开销售。据介绍,TOPPERS主动降噪耳机E2采用AMS(奥地利微电子...

多项修正 尼康D4s发布最新1.10版固件

尼康公司与2014年8月27日发布了D4s的最新固件,固件版本号为C:1.10。这次固件升级,主要解决了一些BUG,并且对拍摄菜单与相机操作做了一定调整。下面是本次新固件的具体信息:尼康发布D4s最新C固件 1.10版对C固件升级到1.10版所作的修改:当选定运动VR模式并换上 AF-S 尼克尔 4...

Vue进阶(幺叁捌):vue路由传参的几种基本方式

1、动态路由(页面刷新数据不丢失)methods:{ insurance(id) { //直接调用$router.push 实现携带参数的跳转 this.$router.push({ path: `/particulars/${id}`,...