案例01高哲暢游_第1頁
案例01高哲暢游_第2頁
案例01高哲暢游_第3頁
案例01高哲暢游_第4頁
案例01高哲暢游_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Docker在paas平臺上的應(yīng)用探索高哲綱要 暢游 web架構(gòu)進(jìn)化過程 docker的實踐 基于docker的paas架構(gòu)介紹 問題與理想暢游 web架構(gòu)進(jìn)化過程暢游web架構(gòu)進(jìn)化過程進(jìn)化過程中的思考 物理機(jī)問題:申請到位慢,吐:和環(huán)境難以的槽,服務(wù)密度小,縮容擴(kuò)容效率低 虛機(jī)解決:到位快,環(huán)境問題:啟動慢,環(huán)境耗,遷移費時費力;有沒有一個他,能夠幫助我們省點心省點力,省的被罵呢?進(jìn)化過程中的思考docker優(yōu)點: 輕量簡單:進(jìn)程級,性能損耗小, Image 層疊式 快速節(jié)約:秒級完成容器創(chuàng)建到啟動,鏡像繼承 定制靈活: 鏡像豐富,API接口豐富,移植方便缺點: 沒有的內(nèi)核,一定的性,安全并

2、善 網(wǎng)絡(luò)功能比較簡單,不能滿足復(fù)雜的應(yīng)用場景進(jìn)化過程中的思考docker能夠幫助我們解決什么? 服務(wù)的密度大幅度增加,提升服務(wù)器的 提供分鐘級的應(yīng)用部署上線; 服務(wù)與硬件解耦; 服務(wù)與數(shù)據(jù)分離; 彈性擴(kuò)展收斂迅速;使用率; 應(yīng)用運行環(huán)境;Docker的實踐 網(wǎng)絡(luò) 鏡像 dockerfile 倉庫定制Docker的實踐網(wǎng)絡(luò)采用bridge, 使用pipework;IP方式: 兼容當(dāng)前網(wǎng)絡(luò)架構(gòu); 可以通過cgroup,實時提取容器流量; 結(jié)構(gòu)簡單,易于docker集群的管理。Docker的實踐鏡像鏡像構(gòu)建l 系統(tǒng)環(huán)境redhat6.6 + 2.6.34 Kernel Docker 1.3/1.5l

3、 構(gòu)建基礎(chǔ)Image基礎(chǔ)軟件安裝基礎(chǔ)服務(wù)初使化l 應(yīng)用Image應(yīng)用軟件配置文件l 鏡像制作Dockerfile(推薦)通過docker commit 生成鏡像(不推薦)通過docker import 生成鏡像(不推薦)Docker的實踐dockerfileDockerfile 構(gòu)建原則解耦性:基礎(chǔ)鏡像與應(yīng)用鏡像拆,只構(gòu)建應(yīng)用鏡像??煽焖偬鎿Q最小化:不要安裝不必要的服務(wù),讓image盡可能輕巧鏡像層:把鏡像層數(shù)減到最少,減少鏡像的大小,加快容器的啟動速度 Cache:構(gòu)建的時候使用cache ,會復(fù)用曾執(zhí)行過相同命令的鏡像層。減少創(chuàng)建時間dockerfile編寫技巧 Dockerfile內(nèi)容越

4、少越好 將用到的文件放入容器 將需要做的事放到中Docker的實踐生成鏡像鏡像生成過程 從FROM指定的父鏡像開始 啟動一個容器 在容器里執(zhí)行指定的一條命令 完畢后關(guān)閉容器,并提交為一個<none>鏡像 在從上一個<none>鏡像啟動一個容器 不斷循環(huán),直到Dockerfile里所有內(nèi)容執(zhí)行完畢 最后一個鏡像會被打上指定的tag如圖:“-t test”,此時會生成一新的鏡像testDocker的實踐私有鏡像倉庫 屬于我們的倉庫;:5000/cyou/webbase 目前存放大概80個線上鏡像模板; 目前只提供暢游全部IDC內(nèi)網(wǎng)pull鏡像; 平臺調(diào)用registry生成

5、容器API ,提供鏡像選擇Docker的實踐Docker通過cgroup實現(xiàn)CPU,內(nèi)存系統(tǒng)CPU:定制的限制。-c 給容器分配CPU的相對權(quán)重-cpuset可以綁定容器進(jìn)程固定使用哪幾個核-cpu綁定容器使用哪幾個核限制是僅僅當(dāng)它們應(yīng)該被執(zhí)行的時候強制執(zhí)行。Mem:參數(shù)-m, -memory=“”限制容器的內(nèi)存使用量,同時指定SWAP內(nèi)存。不限制內(nèi)存將導(dǎo)致一個容器可以很容易使得整個系統(tǒng)不可用的問題。Docker的實踐容器啟動過程基于docker的paas架構(gòu)介紹 架構(gòu)圖 服務(wù)與發(fā)現(xiàn) 配置自動變更 數(shù)據(jù) 容器 日志收集 平臺展示PAAS架構(gòu)設(shè)計的理念 新平臺運維效率不能低于我們目前的效率,否則

6、得不償失; 新平臺能夠復(fù)用我們當(dāng)前架構(gòu)中的組件與規(guī)則; 技術(shù)不分高低,能夠解決問題就是好的; 平臺之間/平臺內(nèi)部通訊模型均為:基于消息數(shù)據(jù)總線通訊; 平臺提供服務(wù)是基于Restful API,松耦合的。CYOU基于Docker的Paas平臺架構(gòu)設(shè)計暢游Paas平臺服務(wù)與發(fā)現(xiàn)服務(wù)發(fā)現(xiàn):zookeeper watch.py rabbitmq register.pystatus.py暢游Paas平臺配置自動變更upstream狀態(tài)變更:nginx-dyups模塊(提供修改upstream的api接口,不需要重啟nginx,信息存中)在內(nèi)nginx-lua(ng啟動進(jìn)入init-by-lua階段抓取R

7、edis的upstream信息生成本地配置文件)redis(upstream信息)暢游Paas平臺關(guān)鍵組件zookeeper 為什么是zookeeper,而不是etcd我們在構(gòu)建paas平臺時,etcd還不夠穩(wěn)定,etcd 2.0 一月份發(fā)布,目前大部分功能已穩(wěn)定zookeeper我們相對更熟悉,目前我們的hadoop集群在使用Zookeeper:實例/發(fā)現(xiàn) 容器的狀態(tài)和信息通過器寫入zookeerper;器在容器里 容器的關(guān)注點在于容器內(nèi)的應(yīng)用,而非容器本身的狀態(tài):應(yīng)用異常=容器異常WEB類檢測方法:URL檢測 返回200,到Zookeeper上(臨時節(jié)點)并保持長連接 返回非200,刪除臨

8、時節(jié)點 若網(wǎng)絡(luò)故障,與Zookeeper的連接自然會斷暢游Paas平臺關(guān)鍵組件rabbitMQ開源的消息隊列服務(wù):生產(chǎn)者不斷地往隊列里面寫入信息,消費者不斷或者訂閱隊列中的消息通過MQ實現(xiàn): 將消息推送到外部平臺 更新的paas暢游Paas平臺關(guān)鍵組件數(shù)據(jù)目標(biāo): 數(shù)據(jù)不在容器內(nèi),服務(wù)與數(shù)據(jù)分離; 數(shù)據(jù)的高可用,高性能,高擴(kuò)展; 結(jié)合dockervolume,數(shù)據(jù)卷的更新影響鏡像; 數(shù)據(jù)在容器間共享和重用。暢游Paas平臺關(guān)鍵組件數(shù)據(jù)選型:Ceph: 提供RBD塊 提供cephfs文件系統(tǒng),因為Rbd塊設(shè)備不能滿足作為共享文件的需要內(nèi)容: 靜態(tài)文件、日志、代碼、臨時文件,工具暢游Paas平臺關(guān)鍵

9、組件數(shù)據(jù)binds = #獲得掛載參數(shù)'/opt/docker-volume/mount/%s/html' % container_name: 'bind': '/home/htdocs', # 統(tǒng)一代碼目錄'ro': False ,'/opt/docker-volume/mount/%s/logs' % container_name:'bind': '/home/logs','ro': False,#統(tǒng)一日志目錄'/opt/docker-volume/mou

10、nt/%s/tmp' % container_name:'bind': '/tmp','ro': False,#臨時文件目錄'/opt/docker-volume/init/%s' % img_without_tag: 'bind': '/etc/web/ins-init','ro': True,#統(tǒng)一目錄暢游Paas平臺關(guān)鍵組件容器優(yōu)點:1. Web頁面方式展示,可以看到實時數(shù)據(jù)。2. 簡單易用,無需安裝,啟動一個容器即可。缺點:1. 不能集中,每個宿主機(jī)都需要安裝一個容器來運行。2. 無法查看歷史數(shù)據(jù)和運行趨勢。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論