Red Hat发布Atomic项目
英文原文:Red Hat Releases Project Atomic
在今年四月,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 的 OpenShiftPaaS 框架的项目。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 版本的发布。