




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、Docker在paas平臺上的應用探索高哲綱要 暢游 web架構進化過程 docker的實踐 基于docker的paas架構介紹 問題與理想暢游 web架構進化過程暢游web架構進化過程進化過程中的思考 物理機問題:申請到位慢,吐:和環境難以的槽,服務密度小,縮容擴容效率低 虛機解決:到位快,環境問題:啟動慢,環境耗,遷移費時費力;有沒有一個他,能夠幫助我們省點心省點力,省的被罵呢?進化過程中的思考docker優點: 輕量簡單:進程級,性能損耗小, Image 層疊式 快速節約:秒級完成容器創建到啟動,鏡像繼承 定制靈活: 鏡像豐富,API接口豐富,移植方便缺點: 沒有的內核,一定的性,安全并
2、善 網絡功能比較簡單,不能滿足復雜的應用場景進化過程中的思考docker能夠幫助我們解決什么? 服務的密度大幅度增加,提升服務器的 提供分鐘級的應用部署上線; 服務與硬件解耦; 服務與數據分離; 彈性擴展收斂迅速;使用率; 應用運行環境;Docker的實踐 網絡 鏡像 dockerfile 倉庫定制Docker的實踐網絡采用bridge, 使用pipework;IP方式: 兼容當前網絡架構; 可以通過cgroup,實時提取容器流量; 結構簡單,易于docker集群的管理。Docker的實踐鏡像鏡像構建l 系統環境redhat6.6 + 2.6.34 Kernel Docker 1.3/1.5l
3、 構建基礎Image基礎軟件安裝基礎服務初使化l 應用Image應用軟件配置文件l 鏡像制作Dockerfile(推薦)通過docker commit 生成鏡像(不推薦)通過docker import 生成鏡像(不推薦)Docker的實踐dockerfileDockerfile 構建原則解耦性:基礎鏡像與應用鏡像拆,只構建應用鏡像。可快速替換最小化:不要安裝不必要的服務,讓image盡可能輕巧鏡像層:把鏡像層數減到最少,減少鏡像的大小,加快容器的啟動速度 Cache:構建的時候使用cache ,會復用曾執行過相同命令的鏡像層。減少創建時間dockerfile編寫技巧 Dockerfile內容越
4、少越好 將用到的文件放入容器 將需要做的事放到中Docker的實踐生成鏡像鏡像生成過程 從FROM指定的父鏡像開始 啟動一個容器 在容器里執行指定的一條命令 完畢后關閉容器,并提交為一個<none>鏡像 在從上一個<none>鏡像啟動一個容器 不斷循環,直到Dockerfile里所有內容執行完畢 最后一個鏡像會被打上指定的tag如圖:“-t test”,此時會生成一新的鏡像testDocker的實踐私有鏡像倉庫 屬于我們的倉庫;:5000/cyou/webbase 目前存放大概80個線上鏡像模板; 目前只提供暢游全部IDC內網pull鏡像; 平臺調用registry生成
5、容器API ,提供鏡像選擇Docker的實踐Docker通過cgroup實現CPU,內存系統CPU:定制的限制。-c 給容器分配CPU的相對權重-cpuset可以綁定容器進程固定使用哪幾個核-cpu綁定容器使用哪幾個核限制是僅僅當它們應該被執行的時候強制執行。Mem:參數-m, -memory=“”限制容器的內存使用量,同時指定SWAP內存。不限制內存將導致一個容器可以很容易使得整個系統不可用的問題。Docker的實踐容器啟動過程基于docker的paas架構介紹 架構圖 服務與發現 配置自動變更 數據 容器 日志收集 平臺展示PAAS架構設計的理念 新平臺運維效率不能低于我們目前的效率,否則
6、得不償失; 新平臺能夠復用我們當前架構中的組件與規則; 技術不分高低,能夠解決問題就是好的; 平臺之間/平臺內部通訊模型均為:基于消息數據總線通訊; 平臺提供服務是基于Restful API,松耦合的。CYOU基于Docker的Paas平臺架構設計暢游Paas平臺服務與發現服務發現:zookeeper watch.py rabbitmq register.pystatus.py暢游Paas平臺配置自動變更upstream狀態變更:nginx-dyups模塊(提供修改upstream的api接口,不需要重啟nginx,信息存中)在內nginx-lua(ng啟動進入init-by-lua階段抓取R
7、edis的upstream信息生成本地配置文件)redis(upstream信息)暢游Paas平臺關鍵組件zookeeper 為什么是zookeeper,而不是etcd我們在構建paas平臺時,etcd還不夠穩定,etcd 2.0 一月份發布,目前大部分功能已穩定zookeeper我們相對更熟悉,目前我們的hadoop集群在使用Zookeeper:實例/發現 容器的狀態和信息通過器寫入zookeerper;器在容器里 容器的關注點在于容器內的應用,而非容器本身的狀態:應用異常=容器異常WEB類檢測方法:URL檢測 返回200,到Zookeeper上(臨時節點)并保持長連接 返回非200,刪除臨
8、時節點 若網絡故障,與Zookeeper的連接自然會斷暢游Paas平臺關鍵組件rabbitMQ開源的消息隊列服務:生產者不斷地往隊列里面寫入信息,消費者不斷或者訂閱隊列中的消息通過MQ實現: 將消息推送到外部平臺 更新的paas暢游Paas平臺關鍵組件數據目標: 數據不在容器內,服務與數據分離; 數據的高可用,高性能,高擴展; 結合dockervolume,數據卷的更新影響鏡像; 數據在容器間共享和重用。暢游Paas平臺關鍵組件數據選型:Ceph: 提供RBD塊 提供cephfs文件系統,因為Rbd塊設備不能滿足作為共享文件的需要內容: 靜態文件、日志、代碼、臨時文件,工具暢游Paas平臺關鍵
9、組件數據binds = #獲得掛載參數'/opt/docker-volume/mount/%s/html' % container_name: 'bind': '/home/htdocs', # 統一代碼目錄'ro': False ,'/opt/docker-volume/mount/%s/logs' % container_name:'bind': '/home/logs','ro': False,#統一日志目錄'/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,#統一目錄暢游Paas平臺關鍵組件容器優點:1. Web頁面方式展示,可以看到實時數據。2. 簡單易用,無需安裝,啟動一個容器即可。缺點:1. 不能集中,每個宿主機都需要安裝一個容器來運行。2. 無法查看歷史數據和運行趨勢。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論