基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)
基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)
基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)
基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要:隨著IT 行業(yè)的迅猛發(fā)展,相關(guān)軟件企業(yè)對(duì)于DevOps 系統(tǒng)應(yīng)用也在不斷加深,但是傳統(tǒng)的DevOps 系統(tǒng)仍然存在一定的缺陷和不足。基于此,該文通過Docker 的應(yīng)用對(duì)DevOps 系統(tǒng)構(gòu)建的影響的分析,針對(duì)基于Docker 下DevOps 系統(tǒng)的設(shè)計(jì)與應(yīng)用的設(shè)計(jì)、運(yùn)作、應(yīng)用三個(gè)方面進(jìn)行深入的研究。關(guān)鍵詞:Docker; DevOps 系統(tǒng);etcd 數(shù)據(jù)庫(kù)集群目 錄 TOC o 1-3 h z u HYPERLINK l _Toc15159116 1.前言 PAGEREF _Toc15159116 h 3 HYPERLINK l _To

2、c15159117 2.Docker的應(yīng)用對(duì)DevOps系統(tǒng)構(gòu)建的影響 PAGEREF _Toc15159117 h 3 HYPERLINK l _Toc15159118 3.基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與應(yīng)用 PAGEREF _Toc15159118 h 4 HYPERLINK l _Toc15159119 3.1.設(shè)計(jì) PAGEREF _Toc15159119 h 4 HYPERLINK l _Toc15159120 3.2.運(yùn)作 PAGEREF _Toc15159120 h 5 HYPERLINK l _Toc15159121 3.3.應(yīng)用 PAGEREF _Toc15159

3、121 h 6 HYPERLINK l _Toc15159122 4.結(jié)束語(yǔ) PAGEREF _Toc15159122 h 6前言研發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)是IT 部門的兩大核心團(tuán)隊(duì),兩個(gè)團(tuán)隊(duì)的目標(biāo)卻存在一定的沖突:研發(fā)人員希望對(duì)常規(guī)軟件迅速進(jìn)行大面積推廣,運(yùn)維人員則更多的考慮產(chǎn)品的穩(wěn)定性。為了維持兩個(gè)團(tuán)隊(duì)的平衡,就需要采用現(xiàn)代化的手段來維持團(tuán)隊(duì)在目標(biāo) 確定中存在的分歧,因此需要通過DevOps 系統(tǒng)進(jìn)行干預(yù)。Docker的應(yīng)用對(duì)DevOps系統(tǒng)構(gòu)建的影響Docker 是個(gè)開源平臺(tái),主要由 Docker Hub 注冊(cè)服務(wù)器、容器引擎等幾方面構(gòu)成。從功能上來看,Docker Hub 注冊(cè)服務(wù)器能完成用戶

4、的相關(guān)數(shù)據(jù)操作,例如構(gòu)鏡像庫(kù)數(shù)據(jù)庫(kù)、數(shù)據(jù)的分 享等;Docker 的容器引擎能滿足深層次的數(shù)據(jù)管理要求,例如可以讓技術(shù)人員將應(yīng)用打包到一個(gè)移植的容器內(nèi)部,并通過Linux 設(shè)備完成發(fā)布。利用Docker, 能夠?qū)崿F(xiàn)各種軟件的隨處運(yùn)行以及一次配置。DevOps 系統(tǒng)是一系列過程、系統(tǒng)和方法的統(tǒng)稱,該系統(tǒng)的應(yīng)用有利于促進(jìn)軟件工程的開發(fā)、加強(qiáng)質(zhì)量保證部門和技術(shù)運(yùn) 營(yíng)之間的溝通和整合。DevOps系統(tǒng)的核心理念是研發(fā)、運(yùn)行、維護(hù)、質(zhì)保各個(gè)團(tuán)隊(duì)之間的高效協(xié)作。與傳統(tǒng)的DevOps 系統(tǒng)相比,應(yīng)用Docker 構(gòu)建DevOps系統(tǒng)的優(yōu)勢(shì)主要有以下兒點(diǎn): 1)對(duì)研發(fā)、生產(chǎn)等環(huán)節(jié)完成標(biāo)準(zhǔn)化管理。在數(shù)據(jù)處理中,

5、景象經(jīng)常被看做是標(biāo)準(zhǔn)交付件,所以其各個(gè)編輯過程都能在容 器內(nèi)實(shí)現(xiàn)運(yùn)行。2)有效解決基礎(chǔ)環(huán)境的架構(gòu)異常問題。從Dev 到Ops 的過程中,產(chǎn)生阻力的主要原因是基礎(chǔ)環(huán)境的多元化,Docker Engine 的使用可以忽略基礎(chǔ)環(huán)境的類型條件。不同的虛擬化類型、物理設(shè)備或者云計(jì)算平臺(tái),在Docker Engine的運(yùn)行環(huán)境下最終都會(huì)提供以容器作為基礎(chǔ)的服務(wù)。3)方便構(gòu)建、轉(zhuǎn)移以及部署。能夠完成標(biāo)準(zhǔn)化的鏡像構(gòu)建,在這個(gè)過程中,依靠分層機(jī)制來保證鏡像構(gòu)建效率。在操作中,應(yīng)用容器倉(cāng)庫(kù)能夠把成型的鏡像轉(zhuǎn)移到任何環(huán)境中,同 時(shí)只需要把靜態(tài)只讀轉(zhuǎn)變成動(dòng)態(tài)可運(yùn)行容器即可。基于Docker下DevOps系統(tǒng)的設(shè)計(jì)與應(yīng)

6、用設(shè)計(jì)DevOps 系統(tǒng)主要由 etcd 數(shù)據(jù)庫(kù)集群、Kubemetes 集群、Git-Lab、Web 管理頁(yè)面統(tǒng)一集成編譯、網(wǎng)絡(luò)與域名系統(tǒng)(DNS)等九大模塊組成。其中etcd 數(shù)據(jù)庫(kù)集群可以提供高可用配置的中心能力;Kubernetes 集群負(fù)責(zé)Docker 的集群管理和調(diào)度;GitLab 可以對(duì)源碼進(jìn)行配置與管理;統(tǒng)一集成編譯鏡像可以對(duì)集成的環(huán)境進(jìn)行統(tǒng)一配置,完成統(tǒng)一編譯。Docker 下DevOps系統(tǒng)具體的設(shè)計(jì)思路為:1)數(shù)據(jù)庫(kù)集群。數(shù)據(jù)庫(kù)集群設(shè)計(jì)必須要保證etcd 數(shù)據(jù)庫(kù)應(yīng)用分布方式的完整性,一般采用分布式key-value 存儲(chǔ)的方法這是因?yàn)檫@個(gè)方法能夠?yàn)檎麄€(gè)系統(tǒng)提供一個(gè)安全的儲(chǔ)

7、存服務(wù),包括各種形式的插件配置儲(chǔ)存等。2)網(wǎng)絡(luò)管理。網(wǎng)絡(luò)部分的管理主要集中在服務(wù)容楛、容器網(wǎng)路等多個(gè)方面,在網(wǎng)絡(luò)管理實(shí)現(xiàn)過程中,主要利用Flannel 插件在運(yùn)行的每臺(tái)主機(jī)上建立一個(gè)虛擬網(wǎng)卡,并運(yùn)行 Flannel 插件服務(wù),用以傳輸控制協(xié)議數(shù)據(jù)包,可以有效解決一些跨主機(jī)容器的網(wǎng)絡(luò)通信問題,精簡(jiǎn)網(wǎng)絡(luò)管理配置,實(shí)現(xiàn)容器間的連接; 在DNS 解析部分,應(yīng)用Kube2sky 插件對(duì) Kubernetes 中的服務(wù)、端點(diǎn)及其相應(yīng)的子節(jié)點(diǎn)變化進(jìn)行控制,在必要情況下,將IP地址及其相應(yīng)的DNS 關(guān)系錄入到數(shù)據(jù)庫(kù)中,這樣相關(guān)統(tǒng)模塊就能對(duì)數(shù)據(jù)庫(kù)中的相關(guān)數(shù)據(jù)做進(jìn)一步的編輯處理。3)鏡像。Jenkins 鏡像應(yīng)用

8、千 Jenkins 服務(wù)的構(gòu)建,對(duì)源代碼進(jìn)行構(gòu)建編譯; GitLab 鏡像應(yīng)用于GitLab 服務(wù),對(duì)源代碼進(jìn)行管理;統(tǒng)一集成編譯鏡像是項(xiàng)目鏡像的容器,其中具有鏡像構(gòu)建所需要的各種依賴,保證鏡像構(gòu)建過程中環(huán)境的同意,提 升構(gòu)建速度,擺脫額外依賴。運(yùn)作編程思想在DevOps 系統(tǒng)中的應(yīng)用較為常見,該系統(tǒng)以Docker 等技術(shù)為媒介,并依靠相應(yīng)的技術(shù)流程得以實(shí)現(xiàn),其具體的實(shí)現(xiàn)步驟為:1)開發(fā)者把代碼提交給源代碼管理GitLab; 2)GitLab 借助Webhook 通知 Jenkins 進(jìn)行更新;3)Jenkins 在GitLab 下載最新的代碼以及其他文件;4)Jenkins 在云鏡像服務(wù)的節(jié)

9、點(diǎn)構(gòu)建Docker 鏡像;5)Jenkins 在云鏡像服務(wù)的節(jié)點(diǎn)實(shí)例化Docker 鏡像,執(zhí)行測(cè)試代碼;6)一旦通過測(cè)試,Jenkins 把Docker 鏡像推送到倉(cāng)庫(kù);7)保證CDserver的持續(xù)發(fā)布,利用配置管理向測(cè)試、生產(chǎn)等環(huán)境推送相應(yīng)的產(chǎn)品。調(diào)查顯示,2016年,38%的企業(yè)已經(jīng)在使用DevOps,2017年超過70%的IT市場(chǎng)會(huì)將目光聚焦在DevOps 技術(shù)及功能上。 美團(tuán)云從2015年開始構(gòu)建 Docker容器集群管理系統(tǒng), 提供對(duì)Docker容器的實(shí)例化、調(diào)度、運(yùn)行、監(jiān)控以及鏡像托管等 功能。兩年的實(shí)戰(zhàn)驗(yàn)證了Docker容器虛擬化技術(shù)在提高運(yùn)維效率,降低IT成本等方面的價(jià)值。

10、近日,美團(tuán)云技術(shù)團(tuán)隊(duì)與金融 科技企業(yè)買單俠的技術(shù)專家就Docker的應(yīng)用進(jìn)行了分享交流?;诿缊F(tuán)云計(jì)算平臺(tái)構(gòu)建的Docker容器管理平臺(tái)讓美團(tuán)點(diǎn)評(píng)的研發(fā)和運(yùn)維人員通過自動(dòng)化流程加強(qiáng)協(xié)作,加速落地了美團(tuán)點(diǎn)評(píng)DevOps的實(shí)施,在面對(duì)日訂單超1800萬的業(yè)務(wù)壓力時(shí),為公司 提升了IT運(yùn)營(yíng)效率并 節(jié)省大量資源,真正實(shí)現(xiàn)了精細(xì)化運(yùn)營(yíng)。應(yīng)用假設(shè)一個(gè)軟件企業(yè)越有100人,采用 Java開發(fā)語(yǔ)言,以Tomcat為中間服務(wù)器,并采用相應(yīng)的功能模塊開展數(shù)據(jù)處理。傳統(tǒng)的DevOps系統(tǒng)持續(xù)集成流程如下:本地環(huán)境利用新 的Java完成一個(gè)新的功能開發(fā),在本地測(cè)試結(jié)束后 電腦下線,另一個(gè)環(huán)節(jié)的測(cè)試部署服務(wù)器的研發(fā)人員提交的代碼無法執(zhí)行,功能一點(diǎn)就錯(cuò),第三個(gè)環(huán)節(jié)的生產(chǎn)服務(wù)器與測(cè)試服務(wù)器不一致,導(dǎo)致運(yùn)維部門需要重做測(cè)試部門的工作。受工作環(huán)境、運(yùn)維環(huán)境等做種因索影響,整個(gè)處理過程的工作效率低。相比之下,采用Docker下DevOps系統(tǒng)可以很好地解決上述問題。整個(gè)項(xiàng)目運(yùn)行過程中設(shè)立一個(gè)項(xiàng)目構(gòu)架師,研發(fā)人員、測(cè)試人員運(yùn)維人員的進(jìn)度都直接反饋給項(xiàng)目構(gòu)架師,一旦出現(xiàn)問題,可以及時(shí)調(diào)整,在提高工作效率的同時(shí)簡(jiǎn)化了工作流程。結(jié)束語(yǔ)綜上所述,Docker的應(yīng)用對(duì)DevOps系統(tǒng)構(gòu)建具有積極的影響。 Docker在DevOps系統(tǒng)的設(shè)計(jì)與應(yīng)用中設(shè)計(jì)、運(yùn)作、應(yīng)用三個(gè)方面的融入,可以使得DevOps系統(tǒng)更

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論