微信号:infoqchina

介绍:有内容的技术社区媒体

【工具】CoreOS发布稳定版本

2014-07-30 18:30 InfoQ

在经过近一年的测试后,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 aService),为商业客户提供各种技术服务,包括平台部署、系统升级及其他专业服务等。商业套餐分为两档,感兴趣的读者可以从这里了解详情。

CoreOS此次发布的版本号是367.1.0,这是第一个稳定版,它包含了以下功能和服务:

  • Linux 3.15.2

  • Docker 1.0.1

  • 对所有主流云服务商的支持

  • 提供商业技术支持

官方公告也提到本次发布中,etcd和fleet还没有达到稳定版的水平。

CoreOS的代码托管在GitHub上,使用的开源协议是Apache 2.0,更详细的信息可以参考GitHub和项目主页。


 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 早安 ┃ 写给“普通人”看的:大数据跟“所有人”是什么关系? Android学习之路 第9条 覆盖equals时总要覆盖hashCode 性能测试基础--(CPU) QCon移动案例演讲视频精选