亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

自研的Devops工具是怎樣的

發布時間:2021-10-12 10:47:52 來源:億速云 閱讀:109 作者:柒染 欄目:云計算

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

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

系統介紹

自研的Devops工具是怎樣的

CMDB

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

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

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

自研的Devops工具是怎樣的

varian

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

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

nova

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

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

擴容、回滾、重啟等操作都可以通過nova系統自動完成,這篇文章介紹了持續部署的更多細節:Docker環境的持續部署優化實踐

自研的Devops工具是怎樣的

kerrigan

在整個發布上線的過程中除了代碼的變更之外,通常還會涉及到配置文件、數據庫的變更,為了解決配置文件自動更新的問題我們開發了kerrigan系統,這篇文章有關于配置中心實現細節的介紹:中小團隊落地配置中心詳解

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

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

自研的Devops工具是怎樣的

overmind

數據庫運維系統overmind,除了能夠解決發布上線過程中的最后一環數據庫變更外,我們還集成了其他一些實用的功能,例如SQL審核、SQL查詢、自動導數據的工單系統,密碼表等

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

完成第一個版本之后內部推動開發測試使用,收集到反饋,在第一個版本的基礎上添加了SQL查詢、Explain執行計劃展示等功能,后續發現DBA經常接到各個不通環境之間導數據的需求,又開發了工單功能來實現數據自動遷移,這篇文章有介紹遷移:運維效率之數據遷移自動化

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

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

自研的Devops工具是怎樣的

proxy

proxy是一個代理系統,類似于阿里云的SLB,kubernetes的ingress,主要給開發測試環境使用

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

自研的Devops工具是怎樣的

wiki

wiki系統在18年之前已上線,當年提出來規范化、文檔化、自動化、智能化的運維目標,文檔是整個運維過程中非常重要的一環,其好處不用多說,持續推進文檔的輸出也是我們非常重要的一環

自研的Devops工具是怎樣的

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

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

北安市| 和林格尔县| 五台县| 托克逊县| 成安县| 牟定县| 乡城县| 秭归县| 孝义市| 来宾市| 葫芦岛市| 万源市| 苏尼特左旗| 连南| 平阴县| 水富县| 双江| 南通市| 宁津县| 理塘县| 志丹县| 渭源县| 象州县| 五大连池市| 儋州市| 建阳市| 滦平县| 化隆| 伊吾县| 民勤县| 临澧县| 南和县| 天等县| 青岛市| 横山县| 冷水江市| 乡宁县| 黑水县| 成安县| 营山县| 宝清县|