在经过近一年的测试后,CoreOS 终于发布了第一个稳定版本。对于这个项目来说,这是一个激动人心的里程碑。CoreOS 的发布公告说道:
自从 2013 年 8 月发布第一个 alpha 版本以来,CoreOS
- 经历了 191 个版本
- 在成千上万的服务器上进行 alpha 和 beta 测试
- 支持 10 个以上的平台
CoreOS 是一个基于 Linux 内核的轻量级操作系统,它的目标既不是桌面系统,也不是传统的服务器领域。CoreOS 的设计目的是为了高效地管理基础设施资源,正如他们自己所说:
CoreOS 的设计目的是,动态地管理你的计算资源,就像 Google 这样的网络公司管理他们规模巨大的基础设施一样。
CoreOS 的软件栈结构从上到下依次为:
- 智能负载平衡层
- 集群管理软件
- 服务搜索和锁定
- 隔离的 Linux 容器(Docker)
- 最小化且易于打补丁的操作系统
- 最新的 Linux 内核
得益于灵活的软件架构,CoreOS 有以下一些优点:
- 占用内存少。比典型的服务器版本 Linux 少占 40% 的内存。
- 可靠,高速,及时的补丁更新。
- 为大规模的部署而设计。
- 灵活的资源管理
- 易于自动化
- 多个云平台支持,支持目前 EC2 、 Rackspace 、 GCE 等云服务提供商。
CoreOS 的包管理系统不同于传统的 yum 或 apt-get,它把需要升级的软件分为三类:应用代码、配置项、操作系统,这三类软件分别有不同的升级机制。应用运行在 Docker 容器中,每个应用是升级是独立的,并且它的依赖文件会一起打包,保证它能正常运行。传统的 Linux 包管理系统对配置文件的升级是不加区分的,但每台机器上的实际配置却不一样,这种方式缺乏灵活性,容易导致部分机器在升级配置后无法运行。CoreOS 专门开发了分布式配置(distributed configuration)工具 etcd ,它把单个配置项的修改实现为原子操作,并且对某个配置项感兴趣的应用可以监听它的变化,以做出相应的反应。操作系统的升级,CoreOS 考虑到了安全性,它使用了两套根文件系统,当操作系统升级的时候,它不是直接覆盖,而是把新的系统安装在第二个跟文件系统上,以便定位问题和回退。
除了 etcd 以外,CoreOS 还有一个重要的组件是 fleet ,它是一个分布式的 init 系统(Distributed init System)。
在商业支持方面,CoreOS 推出了“受托管的 Linux”(Managed Linux),提出了“操作系统即服务”的概念(OS as a Service),为商业客户提供各种技术服务,包括平台部署、系统升级及其他专业服务等。商业套餐分为两档,感兴趣的读者可以从这里了解详情。
CoreOS 此次发布的版本号是 367.1.0 ,这是第一个稳定版,它包含了以下功能和服务:
- Linux 3.15.2
- Docker 1.0.1
- 对所有主流云服务商的支持
- 提供商业技术支持
官方公告也提到本次发布中,etcd 和 fleet 还没有达到稳定版的水平。
CoreOS 的代码托管在 GitHub 上,使用的开源协议是 Apache 2.0,更详细的信息可以参考 GitHub 和项目主页。
感谢郭蕾对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。
评论