圖片來源: 

iThome

根據Google自己的估計,每一周啟用的Container多達20億個,雖然一般企業不會出現上億個Container的管理需求,但要在整座資料中心內的多臺伺服器上部署數百到數千個Container,仍然不是一件容易的事。

而Container OS容器作業系統正是瞄準了大量部署Container而生的專用型作業系統。面對Container OS的需求,幾家知名的Linux作業系統廠商自然也不會放過這個機會,紛紛推出自己的Container OS版本。以下是iThome整理出6個目前最具規模的Container OS資訊。

 

 CoreOS 

CoreOS是最早問市的Container OS,並且提供叢集部署架構,近日更獲得Google創投基金的青睞

衍生自Chrome OS的CoreOS是輕量Linux作業系統,在2013年首次推出了alpha版本,是最早率先問市的Contianer作業系統,不僅是映像檔只占161MB,而且還提供了叢集部署工具,適合用來建立分散式架構與叢集部署。

CoreOS包含了若干個工具,以幫助用戶管理CoreOS叢集以及部署Containers,其中包括CoreOS自己開發的etcd及fleet。

etcd是一個服務探查(Service Discovery)與設定共享(Share Configuration)的工具,它建立在分散式的key-value儲存架構。

fleet則是一個分散式系統初始化工具,它是結合Systemd與etcd的功能,提供叢集架構的系統部署,可確保叢集中的服務一直處於可用狀態,比方說,當某個透過fleet建立的A服務失效時,這時運作在伺服器中的A服務,就可以透過fleet而重新部署到其他伺服器中。

在Docker發展的初期,CoreOS一直是Docker積極的擁護者,不過CoreOS後來另推新的Container──Rocket Container(rkt),與Docker的關係由昔日盟友變成競爭對手。

去年12月,CoreOS創辦人Alex Polvi批評Docker逐漸失去對於Container標準化的堅持,逐漸朝向Container管理平臺的方向前進,所以CoreOS才決定開發自家的Container技術Rocket。

在去年5月時Google也宣布,CoreOS正式成為Google運算引擎(Google Compute Engine,GCE)中預設的映像檔之一。近日則陸續有廠商加入支援rkt規格,包括Red Hat、Google與VMware。

fleet與etcd是CoreOS重要的部署工具,也是CoreOS能提供叢集架構部署的關鍵。(圖片來源/CoreOS)

 

不同的服務打包成Container後,可分配到不同的CoreOS主機,透過fleet與etcd等工具,即可進行跨主機的部署與服務探查。(圖片來源/CoreOS)

 

 

 RancherOS 

由CloudStack團隊成員開發,專為Docker Container設計的最輕量Linux作業系統,映像檔容量僅22MB

在今年3月,Rancher實驗室推出了RancherOS,一款極度輕量的Linux作業系統,映像檔僅有22MB,一舉奪下最輕量Container OS的寶座。

RancherOS的設計是純粹為了執行Docker Container,因此而把Linux核心大大瘦身,僅提供讓Docker可以執行的背景程式。

開發RancherOS的Rancher實驗室成員其實大有來頭,他們多數來自Cloud.com,也就是先前開發了雲端管理軟體CloudStack的公司。

該公司在2011年被虛擬化廠商Citrix所併購。Rancher共同創辦人及首席架構師 Darren Shepherd表示,在嘗試各種不同Linux版本執行Docker後,他決定自己打造專門運作Docker的最小Linux版本。

RancherOS的設計充分利用了Container的架構,RancherOS將整個架構主要分成系統Container與用戶Container兩大區。

系統Container就是把作業系統的諸多服務都打包成一個個獨立的容器。

而用戶Container則與系統Container不同,是由用戶建立的各個應用服務容器。

RancherOS會啟動兩個Docker,一個是系統Docker,另一個則是用戶Docker。

系統Docker的功能就如同其它Linux版本中的初始化系統,如sysvinit或systemd,負責啟動系統初始化服務。

系統Docker會將作業系統的服務如udev、DHCP和控制臺(console),都打包成Container,統一來管理。

另一個則是用戶Docker,也就是管理所有用戶建立的各種應用程式Container。

在此隔離的設計下,即使刪除所有的用戶Container也不會影響運作RancherOS的系統Container。

RancherOS是由Docker管理的Container所組成。RancherOS會啟動兩個Docker主機:系統Docker及使用者Docker。(圖片來源/Rancher)

 

RancherOS透過Rancher來管理各叢集中的Container,也可以即時監控各叢集目前的狀態。(圖片來源/Rancher)

 

 

 Red Hat Project Atomic 

紅帽(Red Hat)擁抱Linux Container技術,成立原子專案(The Atomic Project),建立完整的Container生態系

紅帽(Red Hat)在2014年4月的Red Hat Summit大會首度宣布容器系統Atomic Host專案,顧名思義,就是指系統是以原子化的方式組成。

今年3月Red Hat正式推出專為Docker容器而打造的Red Hat Enterprise Linux 7 Atomic Host。

為了強化系統安全性,Atomic Host是基於SELinux核心,使用了Kubernetes作為Container叢集環境的調度管理(Orchestration)引擎。

此外,比較大的不同是Atomic Host採用OSTree而非傳統的RPM。

OSTree可說是具有版本控制功能的檔案系統,可進行原子式版本更新,若更新失敗,可以很快倒回之前正常的版本。

Atomic Host還搭配Cockpit瀏覽器管理介面,讓使用者可以利用網頁瀏覽器管理伺服器,執行儲存分配、檢查日誌或中斷伺服器中的某項服務等事務。

Atomic Host針對不同的環境,提供不同的安裝映像檔,部署所需要的空間也不同。

根據官方提供的數據,Atomic Host部署在OpenStack需354MB、在RHEV(Red Hat Enterprise Virtualization)下需要332MB、在vSphere下需要342MB、在Hyper-V下需要810MB,而在裸機下則需624MB。

Project Atomic最初的架構圖,原本Red Hat使用GEARD對Container進行調度管理,現在則轉為使用Kubernetes。(圖片來源/Red Hat)

 

Atomic使用SELinux確保 Container的安全性,其作法是在Linux Container命名空間內對Container進行強制存取控制(Mandatory Access Control,MAC)。(圖片來源/Red Hat)

 

 

 VMware Photon 

VMware首次推出的Linux作業系統Photon,為vSphere優化的Container執行平臺

虛擬化廠商VMware在今年4月推出了自家的Linux版本Photon,用於打造輕量級虛擬化Container環境的輕量級Linux作業系統。

Photon提供4種安裝模式,而4種模式所占的映像檔容量都不一樣,如全安裝占了1.7GB,最小安裝(Minimal)則需303MB,微安裝(Micro)需要462MB,至於最後一個客製化安裝則介於全安裝及最小安裝兩者之間。

VMware表示,Photon是一個為vSphere優化的Container執行平臺,可以支援多項Container技術,如Docker、Rocket Container(rkt)和Pivotal Garden Container映像檔。

如同Atomic Host、CoreOS或是近日微軟開發者大會上發表的Nano Server,Photon也是以提供Container執行環境為目的的輕量作業系統。

Photon可部署於vSphere 5.5、vSphere 6.0、vCloud Air、VMware Fusion和VMware Workstation產品上,除了協助企業將Fusion、VMware Workstaion等測試環境上的應用程式,搬遷到使用vSphere上的正式環境,並透過Lightwave對Container進行存取控制、身份管理等功能。

企業也可以整合Lightwave和Photon,提供多租戶目錄服務,加強大量Container的管理,例如限定特定Container所能執行的主機,並且限制只有特定權限的使用者可以管理Container。

Photon可部署在vSphere之上,並透過Lightwave對Container進行存取控制、身份管理等功能。(圖片來源/VMware)

 

Photon可以提供4種安裝模式:微安裝(Micro)、最小安裝(Minimal)、全安裝及客製化安裝,每種模式的映像檔大小都不一。(圖片來源/VMware)

 

 

 Snappy Ubuntu Core 

Canonical推出Snappy Ubuntu Core,可搭載在使用Ubuntu Core的裝置上

去年12月,Canonical推出了Snappy Ubuntu Core,是由Ubuntu 8.10伺服器作業系統衍生出的一款輕量Linux作業系統。

Canonical表示,Snappy Ubuntu Core除了是設計給雲端運算及物聯網(IoT)而生的一款Ubuntu,更是一款輕量的伺服器映像檔。

Snappy Ubuntu Core也為了運作Docker Container所設計及優化,同時內建了命令字元介面,透過Snappy Ubuntu Core,讓打包在Docker中的應用程式可簡單的被派送。

雖然使用與Ubuntu同樣的函式庫(libraries),但是在架構上,Snappy Ubuntu Core與傳統的Ubuntu有所不一樣。

Snappy Ubuntu Core由3層不同的架構,由下至上而組成:主機(Host)、架構(Framework)、應用程式(Applications)。

主機是實體層,可以是手機、VM、伺服器或任何搭載Snappy Ubuntu Core的裝置。

架構層則提供應用程式運作的基礎,如目前所支援的Docker,而此層架構不與底層作業系統有相依性,更新時不必擔心會對底層作業系統產生影響。

應用程式則在架構層上運作,容器化的應用程式可以透過Docker打包後進行部署。

而Snappy Ubuntu Core也被認為奠定了Canonical進軍物聯網的基礎,它目前可以支援的IoT裝置如樹莓派第二代(Raspberry Pi 2)、狗骨頭(Beaglebone Black)及Odroid-C1等迷你Linux電腦平臺上。

此外,Canonical也與微軟合作,開發以Snappy Ubuntu Core為基礎的API,用來串接企業用物聯網裝置。

Ubuntu Snappy Core使用Docker等架構(Framework)打包應用程式後,就可以進行部署。(圖片來源/Ubuntu)

 

Ubuntu目前可以支援如樹莓派第二代( Raspberry Pi 2)、狗骨頭(Beaglebone Black)等迷你Linux電腦平臺上。(圖片來源/Beaglebone Black)

 

 

 Windows Nano Server 

微軟重構現有伺服器作業系統,推出為執行雲端原生應用程式及Container而生的Nano Server

 

在近日的微軟開發者大會上,微軟正式揭露了Nano Server。

微軟表示,Nano Sever是將現有伺服器架構重新設計而推出的一款輕量伺服器作業系統,特地為執行雲端原生應用程式及Container而設計,並且為雲端環境及DevOps工作流程所優化。

微軟表示,用戶經常抱怨必須為了修補從未使用的元件而重啟動伺服器,而大型伺服器需要較長的時間部署,也耗費較多頻寬,倘若伺服器作業系統可使用更少的資源,那麼就可增加虛擬機器的密度。因此,微軟為因應日漸興盛的雲端需求,而推出輕量Nano Server。

此外,Nano Server也僅提供運作必要的元件,讓原本伺服器核心從4.84GB大幅瘦身至400MB,達到作業系統輕量化的目的。比起Windows Server Core,Nano Server更進一步做了精簡。Nano Server移除了圖形使用者介面、對32位元版本的支援、MSI以及其餘不必要的預設Server Core元件。

此外,Nano Server不支援使用本地登錄,也不能使用遠端桌面功能。

如果用戶想對Nano Server進行管理,只能透過WMI(Windows Management Instrumentation)和PowerShell這兩種工具。

微軟表示,Nano Server是為執行原生雲端應用程式而設計,可在Container、VM或實體伺服器環境下支援多種程式開發語言,包括C#、Java、Node.js及Python,並且支援執行Hyper-V的運算叢集和執行橫向擴充的File Server儲存叢集。

根據微軟提供的數據,與傳統的Windows Server相比,Nano Server的虛擬硬碟(VHD,Virtual Hard Disk)所占空間減少了93%、重大安全公告減少了92%,而重開機所需時間更減少了80%。

經重組Windows Server架構後而生的Nano Server,不論是安裝時間、硬碟空間或虛擬硬碟大小都大幅減少。(圖片來源/微軟)

 

使用者可以在Nano Server上部署Hyper-V Container及Windows Server Container。(圖片來源/微軟)

 

相關報導請參考:「Container三部曲(三)IT架構的新奈米革命:Container OS」「Container技術三部曲(二)不只快,還要更快──臺灣Docker應用案例的啟發」「Container技術三部曲(一)迎接下一個雲端火紅技術Docker」


Advertisement

更多 iThome相關內容