一、背景
容器云平臺(tái)本身比較穩(wěn)定雷酪,但是外界有很多不可控因素,我們?nèi)绾卧谕话l(fā)情況發(fā)生時(shí)涝婉,采取最有效的行動(dòng)哥力,將影響控制在合理區(qū)間內(nèi),這就是我們“緊急預(yù)案”需要做的事情墩弯,也是穩(wěn)定性建設(shè)工作中必不可少的一環(huán)吩跋,如果我們認(rèn)為穩(wěn)定性工作中排第一的是“預(yù)防處理”,那么排第二的肯定是故障發(fā)生后“及時(shí)止損”渔工,預(yù)案建設(shè)和實(shí)施比較依賴工具锌钮,而且還需要不斷有計(jì)劃的“操練”,如果能將預(yù)案建設(shè)前置到產(chǎn)品需求設(shè)計(jì)中涨缚,就會(huì)有事半功倍的效果轧粟。
二、容器云平臺(tái)異常問(wèn)題排查之現(xiàn)狀
容器云平臺(tái)本身比較穩(wěn)定脓魏,但是受到影響之后會(huì)發(fā)生各種異常:
- 數(shù)據(jù)中臺(tái)占用帶寬導(dǎo)致大面積延時(shí)
- 資源大戶占用過(guò)多cpu和io導(dǎo)致其他服務(wù)卡頓
- 磁盤問(wèn)題導(dǎo)致服務(wù)延時(shí)或者不可用
三兰吟、預(yù)案構(gòu)成
一般情況下,一個(gè)完整的緊急預(yù)案茂翔,至少需要包含如下幾個(gè)部分:
1.觸發(fā)條件
執(zhí)行預(yù)案的時(shí)機(jī)混蔼,一般從監(jiān)控大盤、告警或者用戶反饋告知感知故障后珊燎,通過(guò)預(yù)案設(shè)定的觸發(fā)標(biāo)準(zhǔn)來(lái)決定我們是否需要執(zhí)行預(yù)案惭嚣、執(zhí)行哪些預(yù)案。
2.執(zhí)行步驟
預(yù)案執(zhí)行過(guò)程悔政,這里需要注意一點(diǎn)晚吞,預(yù)案的執(zhí)行步驟是需要分角色的,不同角色分工不同:
(1)系統(tǒng)Owner負(fù)責(zé)操作回滾命令或者腳本來(lái)止損
(2)其他同學(xué)負(fù)責(zé)問(wèn)題定位和查看監(jiān)控大盤
(3)Team Leader需要組織團(tuán)隊(duì)內(nèi)同學(xué)協(xié)作并且將故障處理進(jìn)展同步給業(yè)務(wù)方和客服
具體的預(yù)案操作一定要“傻瓜化”谋国,即任何同學(xué)只要有權(quán)限就都能輕易操作槽地,當(dāng)然得提前給一些同學(xué)配置好權(quán)限。
還有一點(diǎn)也需要注意芦瘾,在整個(gè)預(yù)案執(zhí)行過(guò)程中捌蚊,如何觀察執(zhí)行的效果也很重要,可以提前配置好對(duì)應(yīng)的觀察大盤近弟,并記錄在預(yù)案中缅糟。
3.恢復(fù)步驟
等故障恢復(fù)后終止預(yù)案,是“執(zhí)行步驟”的逆操作祷愉。
4.善后方案
為了保證故障對(duì)業(yè)務(wù)影響最低窗宦,維護(hù)云平臺(tái)形象赦颇,一般故障修復(fù)后,我們需要對(duì)故障進(jìn)行復(fù)盤赴涵,確保下次不再犯此類錯(cuò)誤沐扳。
因此,在制定預(yù)案的時(shí)候能將常規(guī)善后方案和工具準(zhǔn)備好也是很有必要的句占。
四、預(yù)案的產(chǎn)品化
為了更有效的管理預(yù)案平臺(tái)躯嫉,云平臺(tái)開始規(guī)劃911預(yù)案平臺(tái)纱烘,預(yù)案平臺(tái)需要和運(yùn)維體系全面打通,真正做到預(yù)案操作的可管控祈餐、可觀察擂啥、可細(xì)分。
1.打通OAP觀測(cè)平臺(tái)
接到告警或者用戶反饋的第一時(shí)間帆阳,借助于一鍵巡檢機(jī)制快速的排查故障范圍內(nèi)的各個(gè)可疑點(diǎn):
云網(wǎng)關(guān)是否正常
網(wǎng)絡(luò)插件是否正常
pod是否正常
磁盤是否正常
etcd是否正常
......
2.拉齊自動(dòng)化運(yùn)維平臺(tái)
借助于chatops能力和一鍵巡檢機(jī)制定位的故障范圍哺壶,通過(guò)自動(dòng)化運(yùn)維機(jī)制快速處理故障。