【運(yùn)維自動(dòng)化】37秒萬臺(tái)服務(wù)器標(biāo)準(zhǔn)化與交付自動(dòng)化
情景
對(duì)運(yùn)行在上萬臺(tái)服務(wù)器上的業(yè)務(wù)服務(wù)做標(biāo)準(zhǔn)化的調(diào)整
前提條件
- 服務(wù)器已在CMDB注冊(cè)
- 擁有服務(wù)器所在CMDB中業(yè)務(wù)的運(yùn)維權(quán)限
操作步驟
1.新建作業(yè)
2.執(zhí)行和查看執(zhí)行結(jié)果
1. 新建作業(yè)
按照標(biāo)準(zhǔn)化的需求,我們需要將gsectl文件推送至/usr/local/gse_bkte/agent/bin/目錄,為了確保萬無一失,做md5校驗(yàn)。
作業(yè)模板如下:

提示:為了闡述作業(yè)平臺(tái)中的兩個(gè)全局參數(shù):IP 和 云參,我們通過需求自助化中用到的作業(yè)模板來介紹。

IP這個(gè)參數(shù),我們一般建議使用動(dòng)態(tài)分組,因?yàn)榉?wù)器會(huì)有故障替換的可能,IP會(huì)變。
云參在腳本中可以直接引用。

2. 執(zhí)行作業(yè)及查看執(zhí)行結(jié)果
點(diǎn)擊執(zhí)行作業(yè)后,在9946臺(tái)服務(wù)器上總耗時(shí)37秒。

其中分發(fā)gsectl文件耗時(shí)13秒

md5校驗(yàn)耗時(shí)24秒。

一次標(biāo)準(zhǔn)的應(yīng)用交付自動(dòng)化案例
情景
應(yīng)用發(fā)布是運(yùn)維這個(gè)崗位的職能之一,發(fā)布關(guān)聯(lián)多個(gè)ITIL系統(tǒng)的功能模塊,比如發(fā)布單、監(jiān)控的告警屏蔽、DB變更、業(yè)務(wù)內(nèi)公告、統(tǒng)一登錄入口等,頻繁在多個(gè)系統(tǒng)間切換,不但影響效率而且容易出錯(cuò),同時(shí)無法可視化查看發(fā)布進(jìn)度以及事后的回溯。
接下來,一起看下標(biāo)準(zhǔn)運(yùn)維是如何解決這些痛點(diǎn)。(有功能特性需要5.1環(huán)境)
前提條件
主機(jī)在藍(lán)鯨CMDB中管理
術(shù)語解釋
- 流程模板 : 標(biāo)準(zhǔn)化的資源和應(yīng)用交付模式,通過資源編排引擎,實(shí)現(xiàn)對(duì)資源的創(chuàng)建、配置,實(shí)現(xiàn)自動(dòng)化交付資源或應(yīng)用,行業(yè)中一般稱之為pipeline、資源編排模板,比如一次發(fā)布任務(wù)可以編排為一個(gè)流程模板。
- 標(biāo)準(zhǔn)插件 : 多個(gè)執(zhí)行節(jié)點(diǎn)通過編排規(guī)則實(shí)現(xiàn)流程模板,其中的執(zhí)行節(jié)點(diǎn)稱之為 標(biāo)準(zhǔn)插件,比如執(zhí)行腳本為一個(gè)標(biāo)準(zhǔn)插件
操作步驟
1.梳理:梳理標(biāo)準(zhǔn)化模板
2.建模:新建流程模板
3.執(zhí)行:執(zhí)行流程
1. 梳理標(biāo)準(zhǔn)化模板
配置管理標(biāo)準(zhǔn)化中提到,運(yùn)維服務(wù)“四化建設(shè)”的標(biāo)準(zhǔn)化包含配置管理、發(fā)布、變更、故障處理、監(jiān)控告警等場(chǎng)景的流程制定。以發(fā)布為例,通過流程圖梳理應(yīng)用交付的流程。
分為發(fā)布前準(zhǔn)備、發(fā)布中、發(fā)布后檢查三部分。

2. 創(chuàng)建流程模板
為了簡(jiǎn)化演示,將流程圖中的關(guān)鍵節(jié)點(diǎn)在標(biāo)準(zhǔn)運(yùn)維的業(yè)務(wù)流程模板中體驗(yàn)出來。
選擇 [流程模板] -> [業(yè)務(wù)流程],點(diǎn)擊 新建 來創(chuàng)建業(yè)務(wù)流程模板。
從左側(cè)標(biāo)準(zhǔn)插件區(qū),選擇發(fā)布流程中需要的標(biāo)準(zhǔn)插件作為流程的節(jié)點(diǎn),比如執(zhí)行作業(yè), 向右拖動(dòng)到畫布。

選擇作業(yè)平臺(tái)中準(zhǔn)備好的 作業(yè)模板,然后新建 全局變量,并將全局變量填充到節(jié)點(diǎn)的參數(shù)中。

按照上述步驟,完成一個(gè)應(yīng)用發(fā)布的流程模板。

標(biāo)準(zhǔn)運(yùn)維內(nèi)置了CMDB、作業(yè)平臺(tái)、通知等標(biāo)準(zhǔn)組件,如果不在此列的,需要開發(fā)標(biāo)準(zhǔn)運(yùn)維插件來集成企業(yè)內(nèi)部ITIL系統(tǒng)。
這里重點(diǎn)說明 全局參數(shù) 和 流程分支。
2.1 全局參數(shù)
服務(wù)器發(fā)生故障后,保障下一次應(yīng)用發(fā)布獲取最新的IP列表,可以通過IP選擇器實(shí)現(xiàn)。

2.2 流程分支
應(yīng)用發(fā)布過程中,執(zhí)行成功 和 執(zhí)行失敗的處理分支不同,可以通過流程分支功能對(duì)上一步執(zhí)行結(jié)果為真或?yàn)榧賮砼袛唷?/p>
提前引用上一步流程節(jié)點(diǎn)的輸出參數(shù)執(zhí)行結(jié)果,將其用于上圖中的流程分支表達(dá)式。

3. 執(zhí)行流程
在業(yè)務(wù)流程列表中,點(diǎn)擊新建任務(wù)

點(diǎn)擊執(zhí)行任務(wù)流程
部署藍(lán)鯨智云
https://bk.tencent.com/download/
擴(kuò)展閱讀
上下文傳參
將一個(gè)流程節(jié)點(diǎn)的輸出作為另一個(gè)流程節(jié)點(diǎn)的輸入。
比如第1步輸出 MD5值 ,第2步分發(fā)版本,第3步使用第1步中生成的 MD5值 來校驗(yàn)版本的一致性,效果如下:

主要用到標(biāo)準(zhǔn)運(yùn)維流程節(jié)點(diǎn)中的引用輸出參數(shù)(5.1版),引用第1步中的release_md5變量。

release_md5變量需要提前在作業(yè)模板中設(shè)置,如下圖:

藍(lán)鯨智云簡(jiǎn)介
騰訊藍(lán)鯨智云(簡(jiǎn)稱藍(lán)鯨)軟件體系是一套基于PaaS的技術(shù)解決方案,致力于打造行業(yè)領(lǐng)先的一站式自動(dòng)化運(yùn)維平臺(tái)。目前已經(jīng)推出社區(qū)版、企業(yè)版,歡迎體驗(yàn)。了解更多:https://bk.tencent.com/