Red Hat 发布 Atomic 项目

  • Justin Cormack
  • 赵震一

2014 年 8 月 20 日

话题:RedHat云计算DevOps语言 & 开发

在今年四月,Red Hat 发布了Atomic项目。Atomic 是一个用于运行 Docker 容器的原型系统。该举措是 Red Hat 针对行业中所反映出来的、对CoreOS的兴趣的一种回应,CoreOS 是一个基于 ChromeOS 之上的用于托管 Docker 容器的系统。

Atomic 项目并不是为了构建另一个操作系统:Red Hat 已经有了 RHEL、 Fedora 以及现在的 CentOS,再鼓捣第四个操作系统出来并没有什么意义。所以,Red Hat 并没有这么做,目前的 Atomic 是一个基于 Fedora 的原型系统,而另一个采用 CentOS 的版本也计划即将发布,目前它还不是一个可用于生产环境的产品。

Atomic 项目的核心是一个软件包安装系统,即rpm-ostree。该系统从 Fedora(在将来可能会是从另一个发行版)获取软件包,并扮演了一个“操作系统二进制文件的 Git”的角色,允许对不同集合的软件包进行操作安装,并在它们之间进行原子的整体切换。而切换目前仍然是需要重启的,但是你可以在发现问题后还原到任何一个老的版本。

该模型与 CoreOS 有所不同,CoreOS 跟它所基于的 ChromeOS 一样,拥有两个完整的 OS 镜像,一个供当前使用,另一个供回退之用,通常会在升级时进行两个镜像的切换。CoreOS 当初主要还是设计用来托管容器的,与 CoreOS 不同的是,rpm-ostree 技术还可以对所托管的 Docker 容器的配置和部署提供潜在的帮助,虽然该功能尚未成为项目开发的关注点。

即使更多的软件包会被集成到基础系统中,但对 Docker 的支持毫无疑问仍然是该项目的主要卖点,这也是在系统上运行大部分应用所期望的一种方式。在 CoreOS 中,systemd是运行进程的核心,用于运行分布式应用。而在 Atomic 项目中所采用的是Geard,这是一个来自 Red Hat 的OpenShift PaaS 框架的项目。Geard 将会是下一代 OpenShift 的基石,它与 systemd 进行了集成。可以通过一个 JSON 文件对一组跨多个容器的服务进行配置,从而通过一种直截了当的方式来指定如何构建和连接这些服务。

考虑到项目发布的时间尚短,来自社区的反应显得谨慎且积极。Rackspace 的首席安全架构师Major Hayden说到,“Atomic 项目目前还没有达到用于生产环境的要求,但是它前面还有很长一段路要走。如果该项目可以在互相连接的 Docker 容器这个概念上再添加能匹配 CoreOS 中的 etcd/fleet 这样的功能的话,那对它来说才是正真的成功。”

该项目还包括了一个基于浏览器的图形化管理工具,叫做Cockpit。该工具可以用于管理 Atomic 项目的主机和运行中的容器,并可以对资源的使用率进行管理。再次强调,目前该工具还处于 beta 版本,而 Atomic 的安装是使用该工具的一种推荐方式。

因为 Atomic 项目与它的上游的 Red Hat 产品几乎承载着一样的二进制文件和内核,所以它同样会从上游的工程工作和支持中受益,这成为了它发展过程中的一项绝对优势。目前,该项目还处于一个早期阶段,尤其是现在连一个安装程序都还没有,仅有的只是虚拟机的镜像文件。由于整个开发进程在GitHub上是开放的,因此我们鼓励社区的参与。从 Fedora 21 开始,每次 Fedora 版本发布的同时都会伴随着一个 Fedora Atomic 版本的发布。

查看英文原文:Red Hat Releases Project Atomic

RedHat云计算DevOps语言 & 开发