產(chǎn)品背景
最近參與的一個產(chǎn)品涉及到比較復雜的升級腿短,需要進行測試。產(chǎn)品從架構上來說绘梦,可分為平臺應用服務為橘忱、中間件、監(jiān)控中心卸奉、日志采集平臺钝诚、數(shù)據(jù)庫等內(nèi)容。
升級采用遷移升級的辦法:在額外的環(huán)境部署新環(huán)境并將舊平臺的數(shù)據(jù)遷移導入榄棵,在通過驗證測試后凝颇,將舊平臺的流量平滑切換到新平臺潘拱。采用遷移升級的辦法,具有停機時間短拧略、驗證時間充足芦岂、回滾便捷的優(yōu)點,可盡可能降低升級風險辑鲤。
升級范圍包括:K8S基礎環(huán)境升級盔腔、業(yè)務服務升級杠茬、部分中間件組件版本升級月褥、部分中間件架構改變、增加共享存儲中心瓢喉、日志采集方式改變宁赤。
升級準備
舊平臺調(diào)研
- 各服務版本統(tǒng)計
- 各服務使用資源統(tǒng)計
- 集成SDK版本統(tǒng)計
- 用戶使用接口統(tǒng)計
資源申請
申請遷移申請需要的額外的平臺環(huán)境資源:
硬件資源、IP地址栓票、域名……
數(shù)據(jù)備份
若采取原系統(tǒng)升級决左,應盡可能備份所有資源,如容器yaml文件走贪、配置文件佛猛、數(shù)據(jù)庫、日志等坠狡。
升級過程
- 部署新平臺
- 配置新平臺
- 數(shù)據(jù)遷移
- 日志遷移
- 升級驗證
- 流量切換
升級測試
平臺升級測試主要包括新功能驗證與回歸驗證继找。重點是在平臺升級后,要從界面和接口服務功能來驗證升級前后用戶數(shù)據(jù)一致且功能可用逃沿。在升級前可記錄舊平臺的用戶數(shù)據(jù)婴渡,新建測試用戶并模擬創(chuàng)建測試數(shù)據(jù),然后在舊平臺上挨個進行比對凯亮、驗證边臼。
進行數(shù)據(jù)驗證時需額外考慮以下幾點:
- 當數(shù)據(jù)庫表結構有改動時,舊平臺數(shù)據(jù)遷移到新平臺時有沒有做數(shù)據(jù)轉(zhuǎn)換
- 上傳的文件也需要遷移
- 遷移數(shù)據(jù)在新的界面上展現(xiàn)正常