基於omad部署平台實現一鍵部署的實踐已有很多成功的經驗,杭研qa的技術先鋒們也在ks圈裡有很多不同的文章去闡述關於這類需求的實現和思路,當然包括我們金融事業部qa這邊之前也有利用jenkins+omad實現一鍵部署的場景應用,但本次我想體現的基於omad實現一鍵群組部署、依賴部署功能,這個有別於之前的「一鍵部署」功能,一鍵群組部署、依賴部署工具在我們這邊已經上線乙個月了,目前功能已比較穩定,因此本文主要圍繞該工具的實現進行簡要的闡述分享。
基於以上情況的需求點如下:
1、一鍵批量部署
2、依賴部署
為平台化的實現以上需求功能,同時結合omad平台現有的功能,需要做如下需求拓展:
a、提供配置化的頁面,引入分組的概念,實現一鍵批量部署功能
b、許可權體系維持與omad一致(個人維度),避免水平和垂直許可權紊亂問題
c、應用環境健康狀態自動檢查,頁面實時檢查由工具平台觸發的部署進度
d、產品、應用、環境、例項的關聯關係保持與omad一致
工具使用以下omad的api介面來獲取環境列表資訊、一鍵部署、健康檢查、使用者資訊獲取等:
1、/api/cli/ls:獲取個人所有的產品、應用、環境及例項的詳情資訊
2、/api/cli/estatus:獲取某個環境狀態詳情
4、/api/cli/deploy:一鍵部署
5、/api/cli/login:獲取個人token介面
由於omad平台設計的產品體系是以產品為維度劃分,應用、環境及例項均掛靠下不同的產品下,通過產品、應用及環境的組合形式來控制許可權訪問,一鍵群組部署和依賴部署工具作為部署的頁面化入口,其設計理念和原有平台的方式保持一致,工具平台上也是根據產品、應用、環境、例項,層層掛靠遞進的模型設計,如下圖
對應的資料傳輸模型設計,如下圖
omad的介面/api/cli/ls返回的是乙個大的json陣列串,因此資料流解析時直接將返回的資料進行jsonarray物件化,利用json陣列物件去迴圈遍歷出jsonobject物件,以此類推層層遞進,直到將最後裡層的instance給解析出來,而後根據資料傳輸模型組裝成前端需要的json串。
1、工具平台通過api與omad互動,實現環境資料、部署、健康檢查等功能
2、工具平台根據api返回的資料進行不同型別的處理和組裝,返回前端頁面處理展示
3、群組資料落地至本地的mysql庫,為持久化部署提供支援
4、由於環境列表乙個非常大的json陣列串,每次呼叫需要處理耗時較久,且個人的環境列表資訊變化週期較長,因此該資料做localstorage快取處理,同時提供介面支援手動重新整理
5、許可權控制維持omad體系,第一次使用需使用者錄入accesskey和accesssecret,使用者唯一的token標識資訊快取至redis,避免多次互動
許可權控制直接按照omad原有許可權體系來控制,按照個人許可權維度做區分,實現從工具平台頁面入口的個人產品、應用、環境許可權與直接從omad平台入口保持一致,避免一鍵群組部署和依賴部署的許可權紊亂,引起許可權滲透的情況發生。在工具平台這邊維護乙個使用者表,記錄錄入的accesskey和accesssecret資訊,以獲取使用者的唯一標識token資訊,從而達到每個使用者的許可權隔離。
1、第一次訪問工具需要錄入omad-key,或錄入的omad-key資訊不正確也需要重新錄入
2、選擇產品、選擇組,新增部署的應用環境資訊,其中倉庫位址、分支、版本可以為空,為空則表示維持現有的omad配置而不做修改。
3、組狀態下的應用環境部署狀態是可持續化的,離開頁面後重新進去組還是會進行健康檢查,若無組化部署,離開後則不再檢查應用環境的健康狀態。
4、部署失敗的應用需要「前往」omad平台檢視詳細的日誌,若omad在登入情況則直接跳轉至對應的應用環境,若未登入則去omad登入頁面。
5、應用部署過程中,狀態會自動重新整理。
1、組資料的複製功能
2、個人許可權隔離後引起的資料不能共用的問題
3、部署進度重新整理功能存在侷限性,無法完全的實時同步
4、......
oamd一鍵群組部署、依賴部署工具是基於omad平台而開發的乙個測試效率工具,理論上所有接入到omad上進行部署的應用,若有群組部署和依賴部署的需求均可以使用本工具作為部署入口,邀請大家一起來嚐嚐鮮,同時也給出一些寶貴的意見。
網易雲新使用者大禮包:
Omad群組部署 依賴部署一鍵解決
基於omad部署平台實現一鍵部署的實踐已有很多成功的經驗,杭研qa的技術先鋒們也在ks圈裡有很多不同的文章去闡述關於這類需求的實現和思路,當然包括我們金融事業部qa這邊之前也有利用jenkins omad實現一鍵部署的場景應用,但本次我想體現的基於omad實現一鍵群組部署 依賴部署功能,這個有別於之...
Omad群組部署 依賴部署一鍵解決
基於omad部署平台實現一鍵部署的實踐已有很多成功的經驗,杭研qa的技術先鋒們也在ks圈裡有很多不同的文章去闡述關於這類需求的實現和思路,當然包括我們金融事業部qa這邊之前也有利用jenkins omad實現一鍵部署的場景應用,但本次我想體現的基於omad實現一鍵群組部署 依賴部署功能,這個有別於之...
ceph 一鍵部署
首先先讚乙個,ceph很強大。部署很方便。寫了乙個半自動化部署指令碼,第一次寫高手飄過。過些時間來做成完全一鍵部署。我的測試環境 mon msd 我是安裝到一台伺服器上面,資料節點安裝了4臺伺服器 使用說明 1 mon msd osd 都需要執行 config ceph.sh install hos...