真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

自研的Devops工具是怎樣的

這篇文章給大家介紹自研的Devops工具是怎樣的,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

創(chuàng)新互聯(lián)網(wǎng)絡(luò)公司擁有10年的成都網(wǎng)站開發(fā)建設(shè)經(jīng)驗,上千余家客戶的共同信賴。提供網(wǎng)站設(shè)計、成都網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)站定制、賣友情鏈接、建網(wǎng)站、網(wǎng)站搭建、成都響應(yīng)式網(wǎng)站建設(shè)公司、網(wǎng)頁設(shè)計師打造企業(yè)風(fēng)格,提供周到的售前咨詢和貼心的售后服務(wù)

2018年為了解決日常運維中的痛點以及更高效的推進運維工作,我們自研并完善了幾個工具系統(tǒng),這些系統(tǒng)無一例外的幫我們節(jié)約了時間,提高了效率,這篇文章將分享介紹一下這些工具系統(tǒng)

系統(tǒng)介紹

自研的Devops工具是怎樣的

CMDB

CMDB配置管理數(shù)據(jù)庫,主要用來記錄我們管理維護的軟硬件信息,包含實體的服務(wù)器,交換機以及虛擬的項目、服務(wù)、環(huán)境等所有需要管理維護的信息,通俗一點理解就是之前我們可能一個excel表格記錄了我們維護的所有項目,項目所用的服務(wù)器資源,服務(wù)器的配置等等信息,都可以錄入到CMDB系統(tǒng)里統(tǒng)一維護管理

CMDB系統(tǒng)是其他很多系統(tǒng)的基石,要給所有用到基礎(chǔ)信息的第三方系統(tǒng)提供API以查詢或修改數(shù)據(jù),例如提供項目對應(yīng)的服務(wù)器信息給持續(xù)部署工具推送代碼到項目服務(wù)器上,所以CMDB系統(tǒng)的數(shù)據(jù)準(zhǔn)確性非常重要,同時只在一個地方維護基礎(chǔ)信息能夠讓整個運維系統(tǒng)更可控,更高效,減少出錯

我們CMDB系統(tǒng)上線時間比較久,之前僅是用來替代Excel表格維護信息用,今年為他增加了API,提供給第三方系統(tǒng)獲取基礎(chǔ)數(shù)據(jù),API認(rèn)證采用了JWT,關(guān)于API認(rèn)證這篇文章有更多的介紹:Django+JWT實現(xiàn)Token認(rèn)證

自研的Devops工具是怎樣的

varian

varian是我們內(nèi)部開發(fā)的一個模塊化的持續(xù)集成工具,主要負(fù)責(zé)項目從源代碼到最終可部署程序的這個過程,現(xiàn)在有大部分項目已經(jīng)是Docker部署了,那么varian會負(fù)責(zé)從源代碼到最終打包好的項目鏡像并上傳到鏡像倉庫這個過程,其中會涉及到編譯、合并、壓縮等等操作,這篇文章有詳細(xì)介紹我們varian的工作過程:探秘varian:優(yōu)雅的發(fā)布部署程序

varian的核心邏輯是把持續(xù)集成中的每一個小步驟拆分成獨立的類或方法,最終根據(jù)項目類型的不同組裝不同的類或方法,實現(xiàn)不同類型不同技術(shù)棧項目能夠共用同一套持續(xù)集成程序,減少代碼冗余,提高可用性

nova

nova持續(xù)部署,配合varian做整個上線流程,nova主要負(fù)責(zé)的是將最終的可部署程序或者Docker鏡像推送到線上各個節(jié)點更新的過程,因為線上環(huán)境比較復(fù)雜,有云主機、Docker容器、私有云、公有云k8s等,所以在nova這一層做了兼容

nova只接受三個參數(shù),1.項目名稱,2.部署環(huán)境,3.部署版本號,根據(jù)項目名稱和部署環(huán)境調(diào)用CMDB提供的API確定最終推送項目到哪些節(jié)點,根據(jù)版本號去拉取代碼倉庫代碼或者鏡像倉庫鏡像

擴容、回滾、重啟等操作都可以通過nova系統(tǒng)自動完成,這篇文章介紹了持續(xù)部署的更多細(xì)節(jié):Docker環(huán)境的持續(xù)部署優(yōu)化實踐

自研的Devops工具是怎樣的

kerrigan

在整個發(fā)布上線的過程中除了代碼的變更之外,通常還會涉及到配置文件、數(shù)據(jù)庫的變更,為了解決配置文件自動更新的問題我們開發(fā)了kerrigan系統(tǒng),這篇文章有關(guān)于配置中心實現(xiàn)細(xì)節(jié)的介紹:中小團隊落地配置中心詳解

kerrigan底層基于etcd+confd實現(xiàn),主要實現(xiàn)在web端修改,服務(wù)器上自動更新生效的功能,kerrigan還能夠管理多環(huán)境不同類型的配置,尤其擅長文件型的配置(區(qū)別于通常看到的基于KV的配置中心,對運維更友好),例如管理nginx,tomcat等配置,同時能夠記錄配置文件的修改歷史,快速回滾配置,還支持配置文件對比,只修改保存延后發(fā)布等功能

因為我們項目比較多,每個項目的nginx里邊有一堆的規(guī)則,基于Docker的話每個rewrite的更新都需要重新打包發(fā)布比較繁瑣,使用kerrigan之后有效解決了這個問題

自研的Devops工具是怎樣的

overmind

數(shù)據(jù)庫運維系統(tǒng)overmind,除了能夠解決發(fā)布上線過程中的最后一環(huán)數(shù)據(jù)庫變更外,我們還集成了其他一些實用的功能,例如SQL審核、SQL查詢、自動導(dǎo)數(shù)據(jù)的工單系統(tǒng),密碼表等

overmind的第一個版本主要是集成了inception做SQL的審核和執(zhí)行,幫助我們自動化的處理線上數(shù)據(jù)庫的變更,這篇文章有介紹:中小團隊快速構(gòu)建SQL自動審核系統(tǒng)

完成第一個版本之后內(nèi)部推動開發(fā)測試使用,收集到反饋,在第一個版本的基礎(chǔ)上添加了SQL查詢、Explain執(zhí)行計劃展示等功能,后續(xù)發(fā)現(xiàn)DBA經(jīng)常接到各個不通環(huán)境之間導(dǎo)數(shù)據(jù)的需求,又開發(fā)了工單功能來實現(xiàn)數(shù)據(jù)自動遷移,這篇文章有介紹遷移:運維效率之?dāng)?shù)據(jù)遷移自動化

后邊拋棄了Excel維護密碼的方式,開發(fā)了密碼表功能,見這篇文章介紹:Django開發(fā)密碼管理表實例【附源碼】

overmind在慢慢完善,后續(xù)還會基于需求和實用性添加更多的功能來提高效率

自研的Devops工具是怎樣的

proxy

proxy是一個代理系統(tǒng),類似于阿里云的SLB,kubernetes的ingress,主要給開發(fā)測試環(huán)境使用

我們維護項目較多,每個項目有多套不同的環(huán)境,每個環(huán)境都有不同的域名,對應(yīng)不同的后端服務(wù),為了模擬真實請求過SLB代理的環(huán)境以及集中的管理這些項目入口,之前的做法是把所有的域名都指向到一個nginx服務(wù)器,nginx服務(wù)器通過基于域名的vhost代理到后端服務(wù),每次添加或修改都通過手動變更nginx配置文件來完成,現(xiàn)在開發(fā)了proxy系統(tǒng),可以通過頁面來快速方便的完成

自研的Devops工具是怎樣的

wiki

wiki系統(tǒng)在18年之前已上線,當(dāng)年提出來規(guī)范化、文檔化、自動化、智能化的運維目標(biāo),文檔是整個運維過程中非常重要的一環(huán),其好處不用多說,持續(xù)推進文檔的輸出也是我們非常重要的一環(huán)

自研的Devops工具是怎樣的

當(dāng)然除了以上這些系統(tǒng)外還開發(fā)了一些小工具來規(guī)范管理,提高效率,這里不多介紹。另外我們還用到了大量的開源軟件系統(tǒng),例如Jenkins、ELK套件、Kubernetes等

我們知道devops是從研發(fā)到上線整個過程自動化的一種思想,并不是某個工具或者某幾個工具的集合,我一直在想如何才能將devops落到實處,18年基于當(dāng)前的環(huán)境我們開發(fā)了以上的各種工具來幫助我們高效的工作,但這些工具系統(tǒng)相對分散,不能形成體系流程,19年會實踐一些方式方法將這些工具系統(tǒng)串聯(lián),實現(xiàn)更高程度的自動化,同時也會持續(xù)推進Kubernetes更大范圍的落地,為真正的實現(xiàn)Devops思想,從開發(fā)到上線的全流程自動化打基礎(chǔ)

關(guān)于自研的Devops工具是怎樣的就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


分享標(biāo)題:自研的Devops工具是怎樣的
URL網(wǎng)址:http://weahome.cn/article/ghcejg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部