在經過近一年的測試後,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