CoreOS,一款Linux容器發(fā)行版
CoreOS,一款***的 Linux 發(fā)行版本,支持自動升級內(nèi)核軟件,提供各集群間配置的完全控制。
關(guān)于使用哪個版本的 Linux 服務(wù)器系統(tǒng)的爭論,常常是以這樣的話題開始的:
你是喜歡基于 Red Hat Enterprise Linux (RHEL) 的 CentOS 或者 Fedora,還是基于 Debian 的 Ubuntu,抑或 SUSE 呢?
但是現(xiàn)在,一款名叫 CoreOS 容器 Linux 的 Linux 發(fā)行版加入了這場“圣戰(zhàn)”。這個最近在 Linode 服務(wù)器上提供的 CoreOS,和它的老前輩比起來,它使用了完全不同的實(shí)現(xiàn)方法。
你可能會感到不解,這里有這么多成熟的 Linux 發(fā)行版本,為什么要選擇用 CoreOS ?借用 Linux 主干分支的維護(hù)者,也是 CoreOS 顧問的 Greg Kroah-Hartman 先生的一句話:
CoreOS 可以控制發(fā)行版的升級(基于 ChromeOS 代碼),并結(jié)合了 Docker 和潛在的核對/修復(fù)功能,這意味著不用停止或者重啟你的相關(guān)進(jìn)程,就可以在線升級。測試版本已經(jīng)支持此功能,這是史無前例的。
當(dāng) Greg Kroah-Hartman 做出這段評價時,CoreOS 還處于 α 測試階段,當(dāng)時也許就是在硅谷的一個車庫當(dāng)中,開發(fā)團(tuán)隊(duì)正在緊鑼密鼓地開發(fā)此產(chǎn)品,但 CoreOS 不像最開始的蘋果或者惠普,其在過去的四年當(dāng)中一直穩(wěn)步發(fā)展。
當(dāng)我參加在舊金山舉辦的 2017 CoreOS 大會時,CoreOS 已經(jīng)支持谷歌云、IBM、AWS 和微軟的相關(guān)服務(wù)?,F(xiàn)在有超過 1000 位開發(fā)人員參與到這個項(xiàng)目中,并為能夠成為這個偉大產(chǎn)品的一員而感到高興。
究其原因,CoreOS 從開始就是為容器而設(shè)計(jì)的輕量級 Linux 發(fā)行版,其起初是作為一個 Docker 平臺,隨著時間的推移, CoreOS 在容器方面走出了自己的道路,除了 Docker 之外,它也支持它自己的容器 rkt (讀作 rocket )。
不像大多數(shù)其他的 Linux 發(fā)行版,CoreOS 沒有包管理器,取而代之的是通過 Google ChromeOS 的頁面自動進(jìn)行軟件升級,這樣能提高在集群上運(yùn)行的機(jī)器/容器的安全性和可靠性。不用通過系統(tǒng)管理員的干涉,操作系統(tǒng)升級組件和安全補(bǔ)丁可以定期推送到 CoreOS 容器。
你可以通過 CoreUpdate 和它的 Web 界面上來修改推送周期,這樣你就可以控制你的機(jī)器何時更新,以及更新以多快的速度滾動分發(fā)到你的集群上。
CoreOS 通過一種叫做 etcd 的分布式配置服務(wù)來進(jìn)行升級,etcd 是一種基于 YAML 的開源的分布式哈希存儲系統(tǒng),它可以為 Linux 集群容器提供配置共享和服務(wù)發(fā)現(xiàn)等功能。
此服務(wù)運(yùn)行在集群上的每一臺服務(wù)器上,當(dāng)其中一臺服務(wù)器需要下線升級時,它會發(fā)起***選舉,以便服務(wù)器更新時整個Linux 系統(tǒng)和容器化的應(yīng)用可以繼續(xù)運(yùn)行。
對于集群管理,CoreOS 之前采用的是 fleet 方法,這將 etcd 和 systemd 結(jié)合到分布式初始化系統(tǒng)中。雖然 fleet 仍然在使用,但 CoreOS 已經(jīng)將 etcd 加入到 Kubernetes 容器編排系統(tǒng)構(gòu)成了一個更加強(qiáng)有力的管理工具。
CoreOS 也可以讓你定制其它的操作系統(tǒng)相關(guān)規(guī)范,比如用 cloud-config 的方式管理網(wǎng)絡(luò)配置、用戶賬號和 systemd 單元等。
綜上所述,CoreOS 可以不斷地自行升級到***版本,能讓你獲得從單獨(dú)系統(tǒng)到集群等各種場景的完全控制。如 CoreOS 宣稱的,你再也不用為了改變一個單獨(dú)的配置而在每一臺機(jī)器上運(yùn)行 Chef 了。
假如說你想進(jìn)一步的擴(kuò)展你的 DevOps 控制,CoreOS 能夠輕松地幫助你部署 Kubernetes。
CoreOS 從一開始就是構(gòu)建來易于部署、管理和運(yùn)行容器的。當(dāng)然,其它的 Linux 發(fā)行版,比如 RedHat 家族的原子項(xiàng)目也可以達(dá)到類似的效果,但是對于那些發(fā)行版而言是以附加組件的方式出現(xiàn)的,而 CoreOS 從它誕生的***天就是為容器而設(shè)計(jì)的。
當(dāng)前容器和 Docker 已經(jīng)逐漸成為商業(yè)系統(tǒng)的主流,如果在可預(yù)見的未來中你要在工作中使用容器,你應(yīng)該考慮下 CoreOS,不管你的系統(tǒng)是在裸機(jī)硬件上、虛擬機(jī)還是云上。
如果有任何關(guān)于 CoreOS 的觀點(diǎn)或者問題,還請?jiān)谠u論欄中留言。如果你覺得這篇博客還算有用的話,還請分享一下~
關(guān)于博主:Steven J. Vaughan-Nichols 是一位經(jīng)驗(yàn)豐富的 IT 記者,許多網(wǎng)站中都刊登有他的文章,包括 ZDNet.com、PC Magazine、InfoWorld、ComputerWorld、Linux Today 和 eWEEK 等。他擁有豐富的 IT 知識 - 而且他曾參加過智力競賽節(jié)目 Jeopardy !他的相關(guān)觀點(diǎn)都是自身思考的結(jié)果,并不代表 Linode 公司,我們對他做出的貢獻(xiàn)致以最真誠的感謝。如果想知道他更多的信息,可以關(guān)注他的 Twitter @sjvn。