容器OS的选择与使用


拉这个问题,就是想跟大家讨论下目前的容器OS如何选择,它们之间的优缺点分析,为我们的Docker使用提供一个坚挺的基础系统。

日前,Google联合CoreOS推出商业版本的Tectonic,感觉是直接强化了容器OS的重要性,也点燃了容器操作系统的战争,也顺带推广Kubernetes。

还有一个容器OS就是Atomic,基于Fedora、CentOS、Rel7都有对应的版本发布,也是直接与Google合作集成Kubernetes。

Ubuntu的容器OS很少听到有相关的新闻爆出。
已邀请:

郭蕾 - InfoQ主编,关注容器技术的发展。

赞同来自: sean soli xqzhou seanlook 用心阁


我来汇总下目前的几个容器操作系统吧,这些操作系统应该是新的云和容器的产物,他们是一个新时代的新产物。所以各家老牌操作系统厂商也都在积极跟进。对于选择和使用,我没有实战经验,但根据情况来看,哪个都不是很成熟。如果非要选,推荐使用CoreOS。

  1. CoreOS
    CoreOS是一个基于Linux内核的轻量级操作系统,它的目标既不是桌面系统,也不是传统的服务器领域。CoreOS的设计目的是为了高效地管理基础设施资源,当然需要借助容器的概念。CoreOS大概是在2013年8月发布了第一个apha版本,然后在2014年7月正式发布了稳定版本。相关的资料比较多,初创公司,算是目前市场上比较成熟的容器操作系统。

  2. Project Atomic
    2014年4月,Red Hat发布了Atomic项目。Atomic是一个用于运行容器的操作系统。Atomic项目并不是为了构建另一个操作系统:Red Hat已经有了RHEL、 Fedora 以及现在的CentOS,再鼓捣第四个操作系统出来并没有什么意义。所以,Red Hat并没有这么做,目前的Atomic是一个基于Fedora的原型系统,而另一个采用CentOS的版本也计划即将发布,目前它还不是一个可用于生产环境的产品。2015年3月底,红帽宣布推出红帽企业Linux 7原子主机(Atomic Host),这也可以看出红帽的决心。

  3. Snappy
    Snappy Ubuntu Core 是Canonical推出的一个小型服务器操作系统,它使用与现有Ubuntu相同的库,同时使用更简便的机制(即容器)供用户安装应用。此外,Ubuntu Core 使用的这种容器机制也兼容 Docker。Snappy是在2014年12月发布的,相关的资料非常少。

  4. RancherOS
    RancherOS是Rancher Labs的一个开源项目,旨在提供一种在生产环境中大规模运行Docker的最小最简单的方式。它只包含运行Docker必须的软件,其二进制下载包只有大约20MB。RancherOS是2015年2月发布的,为了抵制CoreOS,所以目前Docker目前比较亲睐RancherOS。

  5. Nano Server
    微软推出的针对云环境高度优化的容器操作系统,刚刚发布,不过官方表示将会在几周内发布测试版本。Nano Server是一个Windows Server的最小化footprint安装包,针对云和容器做了高度优化。Nano Server只提供你需要的组件 - 没有任何多余的组件,这使得服务器镜像更小,部署更快,网络带宽耗费更小,同时启动更迅速也更为安全。


另外,对于你说的谷歌和CoreOS的联姻,我非常同意你的观点:强化了容器OS的重要性,也点燃了容器操作系统的战争。CoreOS生态圈里又多了一名大将Kubernetes,这部电视剧真好看。

tifayuki - Tutum 工程师

赞同来自: wangzi19870227 郭蕾 石海旭 用心阁


ubuntu +1

目前俺们的用户都是运行在Ubuntu上的。

Docker的好处之一就是跨平台,如果用那些所谓定制的OS,显然是要用到他们特定的服务,那么你就和他们绑死了。

xiaolunsanguo - 京东商城-南京研发中心-JDOS团队

赞同来自:


只实践过Ubuntu和CentOS。Ubuntu的益处自不必说,就是AUFS。但是现在CentOS升级完内核后,使用overlay性能并不弱。稳定性也还好。
至于其他方面,Ubuntu和CentOS没看到有明显的优劣区别。
另外,CentOS 6和7的版本区别较大,主要是应用了Systemd的相关工具。我主要是在CentOS 6下进行使用,效果很好,功能和稳定性已经足够。

xqzhou - 码男

赞同来自:


在整个的生产环境中,我认为给docker的运行提供一个定制化的linux系统,还是非常有必要的。如果有什么特殊的需求,还可以对容器系统进行进一步的定制。

zlcolin

赞同来自:


用RancherOS 会不会少些问题?

徐磊 - BlackOps@Qunar

赞同来自:


现在看Alpine有一统江湖的趋势了。 apk简单易用,日常构建已经能满足了。

c3po

赞同来自:


我的经验是从可维护性角度考虑,一般一个大型项目会考虑统一系统OS。
我参与的项目中,如果所有组件都是构建在Docker上的,那么选CoreOS 的优势在于易维护。甚至可以基本做到OS免维护。
如果是一些传统项目,不是所有组件都在Docker之上。而且也没有用到KEBERNETES等工具进行容器编排。那么采用Ubuntu, CentOs或者RHEL 能比较好的支持非Docker上的软件。

sealinger

赞同来自:


我们就是选择的 CentOS 7 + ext4 + overlay

zlcolin

赞同来自:


掉到centos 7大坑里了....

CentOS 升级完内核后,使用overlay 没信心,刚从centos 7 换成 Ubuntu 1510 当前表现不错

要回复问题请先登录注册