本發(fā)明涉及云平臺自動部署領域,特別是一種云平臺自定義自動部署的方法。
背景技術:
一般的新搭建云計算平臺上都是基于數(shù)量龐大節(jié)點,而且云平臺服務眾多,業(yè)務功能非常復雜,每個服務幾乎都有數(shù)量不等的配置文件,每個配置文件平均超過上百個配置項,這樣會存在以下隱患:
一是運維工程師手動部署一套云平臺環(huán)境需要花費很多的人力物力,而且部署完成之后,難以檢查是否部署正常。
二是云計算平臺發(fā)展迅速,功能越來越多,配置項越來越復雜。運維工程師難以掌握每個服務組件和配置項之前的關聯(lián)關系,容易犯配置錯誤,導致云計算平臺不能正常提供服務。
三是常規(guī)的部署軟件,通常都是出錯之后,不能等運維工程師處理完之后,繼續(xù)部署下去,只能清理環(huán)境之后重新部署,效率很低。
技術實現(xiàn)要素:
本發(fā)明方法提供了一種云平臺自定義自動部署的方法,解決了云計算平臺部署難度大、部署工作復雜、不能自定義部署、部署效率低等問題。
本發(fā)明解決上述技術問題的技術方案是,包括如下步驟:
步驟1:自定義每個部署步驟配置信息,部署順序,執(zhí)行步驟和參數(shù);
步驟2:加載配置文件,初始化參數(shù);
步驟3:解釋自定義的部署順序;
步驟4:執(zhí)行部署;
步驟5:記錄執(zhí)行結果。
所述的步驟1中自定義每個部署步驟配置信息,是指自定義每個部署步驟的步驟名稱、執(zhí)行的工具路徑、工具依賴的配置文件路徑、類型、參數(shù)。
所述的執(zhí)行的工具路徑,包括ansbile-playbook(一系統(tǒng)ansible命令的集合,其利用yaml語言編寫,運行過程,ansbile-playbook命令根據(jù)自上而下的順序依次執(zhí)行)和saltstack(允許管理員對多個操作系統(tǒng)創(chuàng)建一個一致的管理系統(tǒng))自動化運維工具的絕對路徑以及工具名稱3002;
所述的工具依賴的配置文件路徑,是指配置文件的絕對路徑以及配置文件名稱。
所述的類型,包括ansbile-playbook、saltstack。
所述的步驟1中自定義部署順序,是指自定義步驟的執(zhí)行順序。
所述的步驟1中自定義執(zhí)行步驟和參數(shù),是指自定義部署步驟的開始步驟名稱、結束步驟名稱、業(yè)務參數(shù)。
所述的開始步驟名稱,是指云平臺部署從這個步驟開始,在其之前的步驟全部跳過。
所述的結束步驟名稱,是指云平臺部署執(zhí)行完結束步驟名稱,就完成整個流程部署。
所述的業(yè)務參數(shù),是指業(yè)務參數(shù)指定在節(jié)點所屬的角色、各個部署步驟依賴的參數(shù)名稱和參數(shù)值。
所述的步驟2中加載配置文件,是指加載定義了各個步驟配置新的文件,前述文件符合YAML格式。
所述的步驟2中加載初始化參數(shù),是指加載從數(shù)據(jù)庫獲取的參數(shù)值,合并用戶自定義參數(shù)值和數(shù)據(jù)庫獲取的參數(shù)值,以參數(shù)名稱映射參數(shù)值的方式保存到內存。
所述的解釋自定義的部署步驟,是指解釋每個步驟的步驟名稱、執(zhí)行的工具、工具依賴的配置文件、類型、參數(shù)名稱,通過參數(shù)名稱從內存獲取參數(shù)值,動態(tài)組成命令行的字符串。
所述的執(zhí)行部署,是指從起始步驟開始執(zhí)行部署直到結束步驟,包括[開始步驟名稱,結束步驟名稱],當開始步驟名稱為空,則從第一個步驟開始執(zhí)行;若結束步驟名稱為空,則執(zhí)行完最后一個步驟才結束。
所述的記錄執(zhí)行結果,是指根據(jù)命令行的返回結果,記錄每個步驟的執(zhí)行時間、涉及的節(jié)點、步驟名稱、執(zhí)行結果。
本發(fā)明的有益效果如下:
1、本發(fā)明方法提供一種云平臺自定義自動部署的方法,解決了云計算平臺部署難度大、部署工作復雜、不能自定義部署、部署效率等問題,實現(xiàn)云平臺自動完成,區(qū)別于一般手工的方法。
2、本發(fā)明方法提供自定義步驟執(zhí)行參數(shù)部署、執(zhí)行工具,區(qū)別于一般的部署方法;提供參數(shù)自定義和默認參數(shù)結合的方式,對于常用的參數(shù),可以提供給多個步驟使用,區(qū)別于一般只能使用默認參數(shù)的部署方法;通過動態(tài)加載和解釋配置文件的方式部署,可以靈活增加多個部署步驟,支持無參數(shù)的部署步驟不重啟部署系統(tǒng)就能執(zhí)行部署,區(qū)別于一般部署方法在新增變更之后,要修改源代碼并且重啟部署系統(tǒng),減少運維工程師的人力資源投入,提高運維工程師的工作效率。
附圖說明
下面結合附圖對本發(fā)明進一步說明:
圖1為流程圖;
圖2為本發(fā)明邏輯結構圖。
具體實施方式
本發(fā)明的實施方式有多種,這里以云平臺為例說明其中一種實現(xiàn)方法,流程圖如圖1所示,具體實施過程如下
1、自定義每個部署步驟配置信息,文件格式實例如下:
2、自定義部署順序
3、自定義執(zhí)行步驟和參數(shù),代碼如下:
4、加載配置文件,代碼如下:
5、加載初始化參數(shù),代碼如下:
6、解釋自定義的部署步驟,代碼如下:
7、執(zhí)行部署,代碼如下:
8、記錄執(zhí)行結果,代碼如下:
整個流程結束。
圖2為本發(fā)明邏輯結構圖,詳細描述如下:
首先自定義每個部署步驟配置信息,包括步驟名稱、執(zhí)行的工具路徑、工具依賴的配置文件路徑、類型(包括ansbile-playbook、saltstack)、參數(shù),自定義執(zhí)行的工具路徑,即為自定義ansbile-playbook和saltstack自動化運維工具的絕對路徑以及工具名稱,自定義工具依賴的配置文件路徑,即為自定義配置文件的絕對路徑以及配置文件名稱;自定義步驟的執(zhí)行順序;自定義部署步驟的開始步驟名稱、結束步驟名稱、業(yè)務參數(shù),自定義開始步驟名稱,云平臺部署從這個步驟開始,在其之前的步驟全部跳過,自定義結束步驟名稱,云平臺部署執(zhí)行完結束步驟名稱,就完成個流程部署,自定義業(yè)務參數(shù),為自定義業(yè)務參數(shù)指定在節(jié)點所屬的角色、各個部署步驟依賴的參數(shù)名稱和參數(shù)值。
然后加載配置文件,初始化參數(shù),加載定義了各個步驟配置新的文件,這個文件符合YAML格式;加載初始化參數(shù),為加載從數(shù)據(jù)庫獲取的參數(shù)值,合并用戶自定義參數(shù)值和數(shù)據(jù)庫獲取的參數(shù)值,以參數(shù)名稱映射參數(shù)值的方式保存到內存。
接著解釋自定義的部署順序,解釋每個步驟的步驟名稱、執(zhí)行的工具、工具依賴的配置文件、類型、參數(shù)名稱,通過參數(shù)名稱從內存獲取參數(shù)值,動態(tài)組成命令行的字符串。
接著執(zhí)行部署,從起始步驟開始執(zhí)行部署直到結束步驟,包括[開始步驟名稱,結束步驟名稱]。若開始步驟名稱為空,則從第一個步驟開始執(zhí)行;若結束步驟名稱為空,則執(zhí)行完最后一個步驟才結束,。
最后記錄執(zhí)行結果,根據(jù)命令行的返回結果,記錄每個步驟的執(zhí)行時間、涉及的節(jié)點、步驟名稱、執(zhí)行結果。
結果是執(zhí)行順序發(fā)生調整,起始步驟和結束步驟的名稱要也相應變化。