




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Docker在paas平臺(tái)上的應(yīng)用探索高哲綱要 暢游 web架構(gòu)進(jìn)化過程 docker的實(shí)踐 基于docker的paas架構(gòu)介紹 問題與理想暢游 web架構(gòu)進(jìn)化過程暢游web架構(gòu)進(jìn)化過程進(jìn)化過程中的思考 物理機(jī)問題:申請(qǐng)到位慢,吐:和環(huán)境難以的槽,服務(wù)密度小,縮容擴(kuò)容效率低 虛機(jī)解決:到位快,環(huán)境問題:啟動(dòng)慢,環(huán)境耗,遷移費(fèi)時(shí)費(fèi)力;有沒有一個(gè)他,能夠幫助我們省點(diǎn)心省點(diǎn)力,省的被罵呢?進(jìn)化過程中的思考docker優(yōu)點(diǎn): 輕量簡單:進(jìn)程級(jí),性能損耗小, Image 層疊式 快速節(jié)約:秒級(jí)完成容器創(chuàng)建到啟動(dòng),鏡像繼承 定制靈活: 鏡像豐富,API接口豐富,移植方便缺點(diǎn): 沒有的內(nèi)核,一定的性,安全并
2、善 網(wǎng)絡(luò)功能比較簡單,不能滿足復(fù)雜的應(yīng)用場景進(jìn)化過程中的思考docker能夠幫助我們解決什么? 服務(wù)的密度大幅度增加,提升服務(wù)器的 提供分鐘級(jí)的應(yīng)用部署上線; 服務(wù)與硬件解耦; 服務(wù)與數(shù)據(jù)分離; 彈性擴(kuò)展收斂迅速;使用率; 應(yīng)用運(yùn)行環(huán)境;Docker的實(shí)踐 網(wǎng)絡(luò) 鏡像 dockerfile 倉庫定制Docker的實(shí)踐網(wǎng)絡(luò)采用bridge, 使用pipework;IP方式: 兼容當(dāng)前網(wǎng)絡(luò)架構(gòu); 可以通過cgroup,實(shí)時(shí)提取容器流量; 結(jié)構(gòu)簡單,易于docker集群的管理。Docker的實(shí)踐鏡像鏡像構(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的實(shí)踐dockerfileDockerfile 構(gòu)建原則解耦性:基礎(chǔ)鏡像與應(yīng)用鏡像拆,只構(gòu)建應(yīng)用鏡像??煽焖偬鎿Q最小化:不要安裝不必要的服務(wù),讓image盡可能輕巧鏡像層:把鏡像層數(shù)減到最少,減少鏡像的大小,加快容器的啟動(dòng)速度 Cache:構(gòu)建的時(shí)候使用cache ,會(huì)復(fù)用曾執(zhí)行過相同命令的鏡像層。減少創(chuàng)建時(shí)間dockerfile編寫技巧 Dockerfile內(nèi)容越
4、少越好 將用到的文件放入容器 將需要做的事放到中Docker的實(shí)踐生成鏡像鏡像生成過程 從FROM指定的父鏡像開始 啟動(dòng)一個(gè)容器 在容器里執(zhí)行指定的一條命令 完畢后關(guān)閉容器,并提交為一個(gè)<none>鏡像 在從上一個(gè)<none>鏡像啟動(dòng)一個(gè)容器 不斷循環(huán),直到Dockerfile里所有內(nèi)容執(zhí)行完畢 最后一個(gè)鏡像會(huì)被打上指定的tag如圖:“-t test”,此時(shí)會(huì)生成一新的鏡像testDocker的實(shí)踐私有鏡像倉庫 屬于我們的倉庫;:5000/cyou/webbase 目前存放大概80個(gè)線上鏡像模板; 目前只提供暢游全部IDC內(nèi)網(wǎng)pull鏡像; 平臺(tái)調(diào)用registry生成
5、容器API ,提供鏡像選擇Docker的實(shí)踐Docker通過cgroup實(shí)現(xiàn)CPU,內(nèi)存系統(tǒng)CPU:定制的限制。-c 給容器分配CPU的相對(duì)權(quán)重-cpuset可以綁定容器進(jìn)程固定使用哪幾個(gè)核-cpu綁定容器使用哪幾個(gè)核限制是僅僅當(dāng)它們應(yīng)該被執(zhí)行的時(shí)候強(qiáng)制執(zhí)行。Mem:參數(shù)-m, -memory=“”限制容器的內(nèi)存使用量,同時(shí)指定SWAP內(nèi)存。不限制內(nèi)存將導(dǎo)致一個(gè)容器可以很容易使得整個(gè)系統(tǒng)不可用的問題。Docker的實(shí)踐容器啟動(dòng)過程基于docker的paas架構(gòu)介紹 架構(gòu)圖 服務(wù)與發(fā)現(xiàn) 配置自動(dòng)變更 數(shù)據(jù) 容器 日志收集 平臺(tái)展示PAAS架構(gòu)設(shè)計(jì)的理念 新平臺(tái)運(yùn)維效率不能低于我們目前的效率,否則
6、得不償失; 新平臺(tái)能夠復(fù)用我們當(dāng)前架構(gòu)中的組件與規(guī)則; 技術(shù)不分高低,能夠解決問題就是好的; 平臺(tái)之間/平臺(tái)內(nèi)部通訊模型均為:基于消息數(shù)據(jù)總線通訊; 平臺(tái)提供服務(wù)是基于Restful API,松耦合的。CYOU基于Docker的Paas平臺(tái)架構(gòu)設(shè)計(jì)暢游Paas平臺(tái)服務(wù)與發(fā)現(xiàn)服務(wù)發(fā)現(xiàn):zookeeper watch.py rabbitmq register.pystatus.py暢游Paas平臺(tái)配置自動(dòng)變更upstream狀態(tài)變更:nginx-dyups模塊(提供修改upstream的api接口,不需要重啟nginx,信息存中)在內(nèi)nginx-lua(ng啟動(dòng)進(jìn)入init-by-lua階段抓取R
7、edis的upstream信息生成本地配置文件)redis(upstream信息)暢游Paas平臺(tái)關(guān)鍵組件zookeeper 為什么是zookeeper,而不是etcd我們?cè)跇?gòu)建paas平臺(tái)時(shí),etcd還不夠穩(wěn)定,etcd 2.0 一月份發(fā)布,目前大部分功能已穩(wěn)定zookeeper我們相對(duì)更熟悉,目前我們的hadoop集群在使用Zookeeper:實(shí)例/發(fā)現(xiàn) 容器的狀態(tài)和信息通過器寫入zookeerper;器在容器里 容器的關(guān)注點(diǎn)在于容器內(nèi)的應(yīng)用,而非容器本身的狀態(tài):應(yīng)用異常=容器異常WEB類檢測方法:URL檢測 返回200,到Zookeeper上(臨時(shí)節(jié)點(diǎn))并保持長連接 返回非200,刪除臨
8、時(shí)節(jié)點(diǎn) 若網(wǎng)絡(luò)故障,與Zookeeper的連接自然會(huì)斷暢游Paas平臺(tái)關(guān)鍵組件rabbitMQ開源的消息隊(duì)列服務(wù):生產(chǎn)者不斷地往隊(duì)列里面寫入信息,消費(fèi)者不斷或者訂閱隊(duì)列中的消息通過MQ實(shí)現(xiàn): 將消息推送到外部平臺(tái) 更新的paas暢游Paas平臺(tái)關(guān)鍵組件數(shù)據(jù)目標(biāo): 數(shù)據(jù)不在容器內(nèi),服務(wù)與數(shù)據(jù)分離; 數(shù)據(jù)的高可用,高性能,高擴(kuò)展; 結(jié)合dockervolume,數(shù)據(jù)卷的更新影響鏡像; 數(shù)據(jù)在容器間共享和重用。暢游Paas平臺(tái)關(guān)鍵組件數(shù)據(jù)選型:Ceph: 提供RBD塊 提供cephfs文件系統(tǒng),因?yàn)镽bd塊設(shè)備不能滿足作為共享文件的需要內(nèi)容: 靜態(tài)文件、日志、代碼、臨時(shí)文件,工具暢游Paas平臺(tái)關(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,#臨時(shí)文件目錄'/opt/docker-volume/init/%s' % img_without_tag: 'bind': '/etc/web/ins-init','ro': True,#統(tǒng)一目錄暢游Paas平臺(tái)關(guān)鍵組件容器優(yōu)點(diǎn):1. Web頁面方式展示,可以看到實(shí)時(shí)數(shù)據(jù)。2. 簡單易用,無需安裝,啟動(dòng)一個(gè)容器即可。缺點(diǎn):1. 不能集中,每個(gè)宿主機(jī)都需要安裝一個(gè)容器來運(yùn)行。2. 無法查看歷史數(shù)據(jù)和運(yùn)行趨勢。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 金融領(lǐng)域2025年人工智能算法審計(jì)在金融證券業(yè)務(wù)中的應(yīng)用報(bào)告
- 文化旅游演藝項(xiàng)目觀眾互動(dòng)體驗(yàn)設(shè)計(jì)與滿意度提升策略報(bào)告
- 主要標(biāo)準(zhǔn)物質(zhì)表
- 卡介苗常規(guī)化療后的膀胱內(nèi)挽救治療2025
- 危險(xiǎn)品倉儲(chǔ)現(xiàn)場安全培訓(xùn)課程開發(fā)考核試卷
- 中藥材病蟲害智能監(jiān)測對(duì)中藥材種植區(qū)域規(guī)劃的影響研究考核試卷
- 乳品生產(chǎn)中綠色農(nóng)業(yè)原料的選擇標(biāo)準(zhǔn)考核試卷
- 紡織品市場定位策略調(diào)整案例分析考核試卷
- 土壤檢測設(shè)備考核試卷
- 臨終關(guān)懷中的社會(huì)工作者團(tuán)隊(duì)協(xié)作與領(lǐng)導(dǎo)力發(fā)展考核試卷
- 杭州市拱墅區(qū)部分校教科版六年級(jí)下冊(cè)期末考試科學(xué)試卷(原卷版)
- 2025年甘肅農(nóng)墾集團(tuán)招聘筆試參考題庫含答案解析
- 租房合同范本下載(可直接打印)
- 智慧停車技術(shù)方案
- 《世界經(jīng)濟(jì)史》課程教學(xué)大綱
- 土地整理質(zhì)量評(píng)定表
- 【告知牌】某公司全套重大危險(xiǎn)源告知牌(7頁)
- 中考數(shù)學(xué)復(fù)習(xí)專題二方程與不等式
- 牛津深圳版七年級(jí)下冊(cè)英語作文匯總
- 供應(yīng)商管理庫存VMI的實(shí)施
- 公司“師帶徒”實(shí)施方案
評(píng)論
0/150
提交評(píng)論