[發明專利]一種基于容器的集群管理方法及系統有效
| 申請號: | 202011343502.6 | 申請日: | 2020-11-25 |
| 公開(公告)號: | CN112486513B | 公開(公告)日: | 2022-08-12 |
| 發明(設計)人: | 陳俊;彭勇;申錕鎧;劉文清;楊濤 | 申請(專利權)人: | 湖南麒麟信安科技股份有限公司 |
| 主分類號: | G06F8/61 | 分類號: | G06F8/61;G06F8/65 |
| 代理公司: | 湖南兆弘專利事務所(普通合伙) 43008 | 代理人: | 劉暢舟 |
| 地址: | 410000 湖南省長*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 容器 集群 管理 方法 系統 | ||
1.一種基于容器的集群管理方法,其特征在于,包括以下步驟:
S1)在三個預設的物理節點上部署mongo集群,所述mongo集群采用一主兩備的模式運行,在mongo集群各節點運行容器管理服務,所述容器管理服務由golang作為后端語言;
S2)向mongo集群的數據庫上傳任務軟件包,解壓任務軟件包得到容器描述文件以及容器鏡像并保存,若升級集群節點,跳轉步驟S3;若刪除集群節點,跳轉步驟S4;若增加集群節點,跳轉步驟S5;
S3)對mongo集群各節點發送對應的容器描述文件,mongo集群各節點的容器管理服務根據容器描述文件下載對應容器鏡像,各節點停止原有容器并啟動所下載的容器,結束并退出,具體包括以下步驟:
S31)獲取mongo集群中的所有節點的狀態,若各個節點都為健康狀態則進入下一步,否則結束并退出;
S32)判斷任務軟件包的版本是否符合需求,若任務軟件包的版本大于各節點容器的版本則進入下一步,否則結束并退出;
S33)對mongo集群各節點發送對應的容器描述文件,然后通過多線程的方式給各個節點發送升級請求,等待各個節點的升級執行結果;
S34)各節點收取升級請求,各節點的容器管理服務根據容器描述文件下載對應容器鏡像,下載完成后各節點停止原有容器并啟動所下載的容器,返回升級完成的執行結果,若下載失敗,返回升級未完成的執行結果;
S35)獲取各個節點的升級結果,若均為升級完成的執行結果,返回一個http響應作為集群節點升級結果通知升級成功;
S4)將除mongo集群主節點以外的待刪除節點從mongo集群中移除,派發刪除容器的描述文件任務給待刪除節點,待刪除節點的容器管理服務根據刪除容器的描述文件任務將容器刪除,結束并退出,具體包括以下步驟:
S41)檢查mongo集群各個節點數目以及狀態是否能夠進行刪除節點操作,若各個節點狀態均為健康且節點數目大于第一閾值則進入下一步,否則結束并退出;
S42)檢查待刪除節點是否為mongo集群主節點,是則將待刪除節點進行降備操作后修改配置項將待刪除節點從mongo集群中移除,否則直接修改配置項將待刪除節點從mongo集群中移除;
S43)派發刪除容器的描述文件任務給待刪除節點,等待任務執行結果;
S44)待刪除節點的容器管理服務根據刪除容器的描述文件任務將容器刪除,返回任務執行結果;
S5)針對處于活躍狀態的待增加節點派發對應的容器描述文件,待增加節點的容器管理服務根據容器描述文件啟動容器,容器啟動成功后將待增加節點添加到mongo集群中,具體包括以下步驟:
S51)判斷mongo集群各個節點數目以及狀態是否符合增加節點狀態,若各個節點狀態均為健康且節點數目小于第二閾值則進入下一步,否則結束并退出;
S52)檢查待增加節點心跳服務是否啟動,是則進入下一步,否則取消增加節點操作;
S53)若任務軟件包符合版本的需求,派發容器描述文件給待增加節點;
S54)待增加節點的容器管理服務根據容器描述文件下載容器鏡像,待增加節點啟動容器,返回啟動執行結果;
S55)若啟動成功則進入下一步,若啟動失敗則返回相應錯誤;
S56)持續嗅探待增加節點容器啟動狀態,預設時間內嗅探到容器啟動成功則將待增加節點添加到mongo集群,將待增加節點添加到mongo集群的具體步驟包括:修改配置文件,增加members成員為待增加節點;應用配置文件,并檢查是否添加成功。
2.根據權利要求1所述的基于容器的集群管理方法,其特征在于,步驟S2)中向mongo集群的數據庫上傳任務軟件包,解壓任務軟件包得到容器描述文件以及容器鏡像并保存具體包括:首先讀取任務軟件包的版本信息,校驗文件格式是否正確,若正確則讀取任務軟件包的文件流,采用流式的解壓方式對任務軟件包進行解壓,將任務軟件包中的容器描述文件以及容器鏡像上傳到mongo集群的數據庫的GridFS中,通過各個文件的md5值來進行索引文件。
3.根據權利要求1所述的基于容器的集群管理方法,其特征在于,步驟S2)還包括刪除任務軟件包的步驟,具體包括:觸發刪除事件,刪除軟件包的記錄信息;對mongo集群的數據庫中所有文件與剩余軟件包信息進行匹配,刪除不存在匹配結果的文件。
4.一種基于容器的集群管理系統,包括計算機設備,其特征在于,所述計算機設備被編程或配置以執行權利要求1~3任一所述的基于容器的集群管理方法。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于湖南麒麟信安科技股份有限公司,未經湖南麒麟信安科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011343502.6/1.html,轉載請聲明來源鉆瓜專利網。





