Coreos 安裝及配置
本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原創,轉載請標明.謝謝!
目前國內使用coreos的場景還不多,搜索coreos中文資料基本都大同小異。最近幾日再和其它攻城獅討論問題時,有人提出希望看到一篇介紹coreos和安裝方面的文章,正好本人最近也在研究coreos,也就共享一些經驗。權當拋磚引玉。
首先咱們明確一下coreos是用來做什么的。coreos也是一款os,但它是一款面向云的輕量級OS。coreos是以linux系統為基礎,為了建設數據中心的需要,而從linux底層進行了內核裁減。coreos提供了一系列的機制和工具來保證coreos組建的云環境是安全,可靠和最新的。Coreos設計之初就定位于可以提供一種動態縮放和管理集群的能力,可以方便管理類似google 這種龐大數據中心的集群。
目前支持coreos的云平臺有: EC2,DigitalOcean, GCE, ?Rackspace, ?Azure, Brightbox 。 支持coreos的虛擬化軟件有:vagrant, vmware,QEMU,openstack,Eucalyptus, ISO image.
由此也可以看出國際云平臺各廠商一致看好coreos,大有席卷互聯網之勢。
Coreos有三個最重要的工具,etcd,fleet和docker。下面我們分別介紹這三款工具。
etcd是一個開源的分布式鍵值對存儲工具。在每個coreos節點上面運行的etcd,共同組建了coreos集群的共享數據總線。etcd可以保證coreos集群的穩定,可靠。當集群網絡出現動蕩,或者當前master節點出現異常時,etcd可以優雅的進行master節點的選舉工作,同時恢復集群中損失的數據。
分布在各個coreos節點中的app,都可以自由的訪問到etcd中的數據。最常見的場景就是etcd存儲cluster的metadata,cache setting, cluster logging, feature flags等。
etcd有如下的功能:
Fleet是管理coreos和部署app的工具。
有了fleet,你就可以把整個coreos集群當做一臺節點來處理。Fleet鼓勵用戶將應用都封裝成輕量級的服務,這些服務很容易在集群中進行管理和部署。
devops team通過fleet,就可以集中精力來關注app應用,而不用關心基礎環境如何,哪個container應該部署在哪臺節點上。如果你的app需要5個container同時運行,fleet將保證這5個container在集群中同時運行。如果某臺節點出現異常,或者需要重啟更新,fleet也會將此臺節點上面的container轉移到其他節點上。
而這些都是automatic的! 運行和管理container就是這樣so easy!
Fleet的功能如下:
Fleet再進行任務調度時,就會讀取etcd存儲的數據。下圖就是Fleet的任務調度流程圖:
Docker是一個輕量級的虛擬化工具。使用Docker可以進行應用的快速部署。
以上介紹了Coreos的主要工具,下面我們介紹一下如何使用coreos。因為支持coreos的平臺很多,這里無法一一列出所有平臺的安裝方式,我們選取了應用最多的vagrant+coreos方案進行安裝介紹,如果需要了解其他平臺的安裝方式,請參考https://coreos.com/
在進行安裝和配置coreos之前,我們需要準備一臺linux實體機,注意一定是實體機,因為使用vmware虛擬出的linux操作系統會和vagrant不兼容,造成失敗。(這不難理解,畢竟真正的數據中心不可能在windows平臺上面跑虛擬機....)
下面我們開始進行安裝:
首先安裝vagrant。推薦使用ubuntu 64bit。訪問http://www.vagrantup.com/downloads.html下載deb安裝文件。
1、安裝vagrant后,git vagrantfile。
git clone https://github.com/coreos/coreos-vagrant.gitcd coreos-vagrant
2、修改config.rb和user-data。
config.rb文件:
# Size of the CoreOS cluster created by Vagrant$num_instances=3# Official CoreOS channel from which updates should be downloaded$update_channel='stable'
user-data文件:
首先我們需要獲取一個新的token:執行 curl ?http://discovery.etcd.io/new,會得到一個類似https://discovery.etcd.io/5480377e1e51f25e11dd78f525ba1122的地址。把這個地址替換
user-data文件:discovery: https://discovery.etcd.io/<token> 替換為:discovery: https://discovery.etcd.io/5480377e1e51f25e11dd78f525ba1122
替換后的user-data文件應該是類似于:
coreos: etcd: # generate a new token for each unique cluster from https://discovery.etcd.io/new # WARNING: replace each time you 'vagrant destroy' discovery: https://discovery.etcd.io/5480377e1e51f25e11dd78f525ba1122 addr: $public_ipv4:4001 peer-addr: $public_ipv4:7001 fleet: public-ip: $public_ipv4 units: - name: etcd.service command: start - name: fleet.service command: start
現在執行:vagrant up --provision。
這時,vagrant就開始啟動并且開始自動下載coreos最新版本。目前coreos版本迭代非???基本一周會有一個新版本。
注意:
在下載完成后,vagrant會自動進行鏡像哈希值校驗。有的ubuntu沒有安裝哈希計算工具,這個時候vagrant會報錯,提示計算工具找不到,此時單獨安裝然后再次執行vagrant up --provision即可。
等看到啟動完成后,coreos集群就已經啟動完畢了。輸入vagrant ssh core-01 -- -A 就可以登錄到coreos集群了,執行:fleetctl list-machines 就會看到所有三臺節點。
至此coreos集群的安裝就完成了。下篇文章,我將會介紹如何通過service文件來部署docker image.
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...
在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...
在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...
什么是CVB?CVB是一個用于圖像處理開發和應用的軟件平臺。這套由德國Stemmer成像公司開發的操作系統為工業領域用戶的圖像處理需求提供了方便快捷的解決方案。cvb是什么的簡稱?CVB指大型或重型航空母艦,大型手機左上角的信號顯示那里的高清。實際上,我們已經開啟了volte HD call功能,這是一個利用手機的數據流進行通話的功能。通話質量比平時更清晰。沒有充電,但只消耗流量。1。在華為手機桌...
怎樣將ansys中文版換成英文版?在設置中找到語言設置,切換到英語確認即可。ansys19.2怎么漢化?因為沒有中文版,所以無法調整中文版。ansys18.1英文版怎么改中文?下載后再連接中文版就行了。沒有我附加的操作。ansys為什么不出中文版?有中文版,但是你可以 不要用經典的ansys,應該用ansys workbench。界面非常友好,3d界面非常豐富,項目界面可以輕松處理多場耦合。ans...
怎么樣把群聊歸類在一組?群聊咋分組管理1是需要我們打開主頁點擊先打開通訊錄。在頂端你會看見了標簽這個。2然后點擊標簽,右上角有一個空白文檔功能。直接點擊新建項功能3先打開剛建功能之后會再次出現你的好友列表。4在看見了好友列表之后,你會見到每個好友后面會有一個是可以復選框的正方形格子。5可以找到你必須分組的好友,在后面正方形格子里面打勾。對勾完成后,在右上角會再次出現一個可以確定,點擊確認之后在橫線...