小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

CoreOS 實(shí)戰(zhàn):CoreOS 及管理工具介紹

 Baruch 2016-02-13

【編者按】CoreOS是一個基于Docker的輕量級容器化Linux發(fā)行版,專為大型數(shù)據(jù)中心而設(shè)計(jì),旨在通過輕量的系統(tǒng)架構(gòu)和靈活的應(yīng)用程序部署能力簡化數(shù)據(jù)中心的維護(hù)成本和復(fù)雜度。CoreOS作為Docker生態(tài)圈中的重要一員,日益得到各大云服務(wù)商的重視,目前已經(jīng)完成了A輪融資,發(fā)展風(fēng)頭正勁。InfoQ希望《CoreOS實(shí)戰(zhàn)》系列文章能夠幫助讀者了解CoreOS以及相關(guān)的使用方法。如果說Docker是下一代的虛擬機(jī),那CoreOS就應(yīng)該是下一代的服務(wù)器Linux,InfoQ愿和您一起探索這個新生事物。另外,歡迎加入InfoQ Docker技術(shù)交流群,QQ群號:365601355。

1. 概述

隨著 Docker 的走紅,CoreOS 作為一個基于 Docker 的輕量級容器化 Linux 發(fā)行版日益得到大家的重視,目前所有的主流云服務(wù)商都提供了對 CoreOS 的支持。CoreOS 是新時代下的Linux 發(fā)行版,它有哪些獨(dú)特的魅力了?本篇作為《CoreOS實(shí)戰(zhàn)》的第一部分,將向大家簡要介紹 CoreOS 以及CoreOS 相關(guān)的管理工具,試圖向您揭開CoreOS背后神秘的面紗。

2. CoreOS之禪

云計(jì)算新星 Docker 正在以火箭般的速度發(fā)展,與它相關(guān)的生態(tài)圈也漸入佳境,CoreOS 就是其中之一。CoreOS 是一個全新的、面向數(shù)據(jù)中心設(shè)計(jì)的 Linux 操作系統(tǒng),在2014年7月發(fā)布了首個穩(wěn)定版本,目前已經(jīng)完成了800萬美元的A輪融資。 CoreOS 專門針對大型數(shù)據(jù)中心而設(shè)計(jì),旨在以輕量的系統(tǒng)架構(gòu)和靈活的應(yīng)用程序部署能力簡化數(shù)據(jù)中心的維護(hù)成本和復(fù)雜度?,F(xiàn)在CoreOS 已經(jīng)推出了付費(fèi)產(chǎn)品。通過付費(fèi),用戶可以使用可視化工具管理自己的 CoreOS 集群。

與其他歷史悠久、使用廣泛的 Linux 操作系統(tǒng)相比,CoreOS 擁有下面幾個優(yōu)點(diǎn)。

首先,CoreOS 沒有提供包管理工具,而是通過容器化 (containerized) 的運(yùn)算環(huán)境向應(yīng)用程序提供運(yùn)算資源。應(yīng)用程序之間共享系統(tǒng)內(nèi)核和資源,但是彼此之間又互不可見。這樣就意味著應(yīng)用程序?qū)⒉粫俦恢苯影惭b到操作系統(tǒng)中,而是通過 Docker 運(yùn)行在容器中。這種方式使得操作系統(tǒng)、應(yīng)用程序及運(yùn)行環(huán)境之間的耦合度大大降低。相對于傳統(tǒng)的部署方式而言,在 CoreOS 集群中部署應(yīng)用程序更加靈活便捷,應(yīng)用程序運(yùn)行環(huán)境之間的干擾更少,而且操作系統(tǒng)自身的維護(hù)也更加容易。

其次, CoreOS 采用雙系統(tǒng)分區(qū) (dual root partition) 設(shè)計(jì)。兩個分區(qū)分別被設(shè)置成主動模式和被動模式并在系統(tǒng)運(yùn)行期間各司其職。主動分區(qū)負(fù)責(zé)系統(tǒng)運(yùn)行,被動分區(qū)負(fù)責(zé)系統(tǒng)升級。一旦新版本的操作系統(tǒng)被發(fā)布,一個完整的系統(tǒng)文件將被下載至被動分區(qū),并在系統(tǒng)下一次重啟時從新版本分區(qū)啟動,原來的被動分區(qū)將切換為主動分區(qū),而之前的主動分區(qū)則被切換為被動分區(qū),兩個分區(qū)扮演的角色將相互對調(diào)。同時在系統(tǒng)運(yùn)行期間系統(tǒng)分區(qū)被設(shè)置成只讀狀態(tài),這樣也確保了 CoreOS 的安全性。CoreOS 的升級過程在默認(rèn)條件下將自動完成,并且通過 cgroup 對升級過程中使用到的網(wǎng)絡(luò)和磁盤資源進(jìn)行限制,將系統(tǒng)升級所帶來的影響降至最低。

另外,CoreOS 使用 Systemd 取代 SysV 作為系統(tǒng)和服務(wù)的管理工具。與 SysV 相比,Systemd 不但可以更好的追蹤系統(tǒng)進(jìn)程,而且也具備優(yōu)秀的并行化處理能力,加之按需啟動等特點(diǎn),并結(jié)合 Docker 的快速啟動能力,在 CoreOS 集群中大規(guī)模部署 Docker Containers 與使用其他操作系統(tǒng)相比在性能上的優(yōu)勢將更加明顯。Systemd 的另一個特點(diǎn)是引入了 “target” 的概念,每個 target 應(yīng)用于一個特定的服務(wù),并且可以通過繼承一個已有的 target 擴(kuò)展額外的功能,這樣使得操作系統(tǒng)對系統(tǒng)上運(yùn)行的服務(wù)擁有更好的控制力。

通過對系統(tǒng)結(jié)構(gòu)的重新設(shè)計(jì),CoreOS 剔除了任何不必要的軟件和服務(wù)。在一定程度上減輕了維護(hù)一個服務(wù)器集群的復(fù)雜度,幫助用戶從繁瑣的系統(tǒng)及軟件維護(hù)工作中解脫出來。雖然CoreOS 最初源自于Google ChromeOS,但是從一開始就決定了 CoreOS 更加適合應(yīng)用于一個集群環(huán)境而不是一個傳統(tǒng)的服務(wù)器操作系統(tǒng)。

3. CoreOS相關(guān)工具

除了操作系統(tǒng)之外,CoreOS 團(tuán)隊(duì)和其他團(tuán)隊(duì)還提供了若干工具幫助用戶管理 CoreOS 集群以及部署 Docker containers。

3.1. etcd

在CoreOS 集群中處于骨架地位的是 etcd。 etcd 是一個分布式 key/value 存儲服務(wù),CoreOS 集群中的程序和服務(wù)可以通過 etcd 共享信息或做服務(wù)發(fā)現(xiàn) 。etcd 基于非常著名的 raft 一致性算法:通過選舉形式在服務(wù)器之中選舉 Lead 來同步數(shù)據(jù),并以此確保集群之內(nèi)信息始終一致和可用。etcd 以默認(rèn)的形式安裝于每個 CoreOS 系統(tǒng)之中。在默認(rèn)的配置下,etcd 使用系統(tǒng)中的兩個端口:4001和7001,其中4001提供給外部應(yīng)用程序以HTTP+Json的形式讀寫數(shù)據(jù),而7001則用作在每個 etcd 之間進(jìn)行數(shù)據(jù)同步。用戶更可以通過配置 CA Cert讓 etcd 以 HTTPS 的方式讀寫及同步數(shù)據(jù),進(jìn)一步確保數(shù)據(jù)信息的安全性。

3.2. fleet

fleet 是一個通過 Systemd對CoreOS 集群中進(jìn)行控制和管理的工具。fleet 與 Systemd 之間通過 D-Bus API 進(jìn)行交互,每個 fleet agent 之間通過 etcd 服務(wù)來注冊和同步數(shù)據(jù)。fleet 提供的功能非常豐富,包括查看集群中服務(wù)器的狀態(tài)、啟動或終止 Docker container、讀取日志內(nèi)容等。更為重要的是 fleet 可以確保集群中的服務(wù)一直處于可用狀態(tài)。當(dāng)出現(xiàn)某個通過 fleet 創(chuàng)建的服務(wù)在集群中不可用時,如由于某臺主機(jī)因?yàn)橛布蚓W(wǎng)絡(luò)故障從集群中脫離時,原本運(yùn)行在這臺服務(wù)器中的一系列服務(wù)將通過fleet 被重新分配到其他可用服務(wù)器中。雖然當(dāng)前 fleet 還處于非常早期的狀態(tài),但是其管理 CoreOS 集群的能力是非常有效的,并且仍然有很大的擴(kuò)展空間,目前已提供簡單的 API 接口供用戶集成。

3.3. Kubernetes

Kuberenetes 是由 Google 開源的一個適用于集群的 Docker containers 管理工具。用戶可以將一組 containers 以 “POD” 形式通過 Kubernetes 部署到集群之中。與 fleet 更加側(cè)重 CoreOS 集群的管理不同,Kubernetes 生來就是一個 Containers 的管理工具。Kubernetes 以 “POD” 為單位管理一系列彼此聯(lián)系的 Containers,這些 Containers 被部署在同一臺物理主機(jī)中、擁有同樣地網(wǎng)絡(luò)地址并共享存儲配額。

3.4. flannel (rudder)

flannel (rudder) 是 CoreOS 團(tuán)隊(duì)針對 Kubernetes 設(shè)計(jì)的一個覆蓋網(wǎng)絡(luò) (overlay network) 工具,其目的在于幫助每一個使用 Kuberentes 的 CoreOS 主機(jī)擁有一個完整的子網(wǎng)。Kubernetes 會為每一個 POD 分配一個獨(dú)立的 IP 地址,這樣便于同一個 POD 中的 Containers 彼此連接,而之前的 CoreOS 并不具備這種能力。為了解決這一問題,flannel 通過在集群中創(chuàng)建一個覆蓋網(wǎng)格網(wǎng)絡(luò) (overlay mesh network) 為主機(jī)設(shè)定一個子網(wǎng)。

4. 下篇介紹

在下一篇中,筆者將為大家展示如何建立一個 CoreOS 集群并通過 Kubernetes 管理其中的 Docker Containers。


感謝郭蕾對本文的策劃和審校。

給InfoQ中文站投稿或者參與內(nèi)容翻譯工作,請郵件至editors@cn.。也歡迎大家通過新浪微博(@InfoQ)或者騰訊微博(@InfoQ)關(guān)注我們,并與我們的編輯和其他讀者朋友交流。

QCon北京2016】大會火熱籌備中,騰訊社交網(wǎng)絡(luò)質(zhì)量部副總經(jīng)理吳凱華、美團(tuán)網(wǎng)技術(shù)總監(jiān)王棟、奇虎360系統(tǒng)部總監(jiān)肖康等專家將擔(dān)任專題出品人,策劃實(shí)踐驅(qū)動的技術(shù)分享。另,100+位講師積極邀約中,歡迎自薦或推薦?,F(xiàn)在購票,可享8折優(yōu)惠,5人之上團(tuán)購優(yōu)惠多多。
  •  

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多