在经过近一年的测试后,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和项目主页。
From: http://www.infoq.com/cn/news/2014/07/coreos-stable-version