




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
MySQLOperator容器化方案概述
【導(dǎo)讀】與內(nèi)存庫的Redis數(shù)據(jù)庫比起來,容器化MySQL有著更多的需求,本文介紹了MySQLOpreator容器化方案及設(shè)計(jì)思路。以前文章分享過RedisOperator容器化方案(點(diǎn)擊標(biāo)題可閱讀:《RedisSentinelOperator容器化解讀》,《RedisClusterOperator容器化方案》),本次介紹MySQLOperator容器化方案。與內(nèi)存庫的Redis數(shù)據(jù)庫比起來,容器化MySQL有著更多的需求,主要有以下三個(gè)方面:MySQL對(duì)存儲(chǔ)的要求很高M(jìn)ySQLPod的IP需要固定MySQL需要支持同城災(zāi)備MySQL容器化拓?fù)浣Y(jié)構(gòu)固定MySQLPodIP可以在K8S上使用Calico網(wǎng)絡(luò)插件實(shí)現(xiàn)。存儲(chǔ)方面使用高性能分布式存儲(chǔ)或者直接掛載本地盤都可達(dá)到要求,這些不在本文做重點(diǎn)介紹。MySQL容器化有同城災(zāi)備需求。對(duì)于MySQL部分,我們使用MySQLMGR單主模式,將MGR節(jié)點(diǎn)分散在本地/同城運(yùn)行,正常情況下主節(jié)點(diǎn)運(yùn)行在本地,災(zāi)備切換時(shí)將主節(jié)點(diǎn)切換至同城。對(duì)于K8S集群部分,我行K8S集群沒有進(jìn)行跨本地/同城部署,所以MySQLMGR節(jié)點(diǎn)會(huì)分布在兩個(gè)K8S集群運(yùn)行。對(duì)于MySQL服務(wù)暴露部分,在每個(gè)K8S集群上為每個(gè)MGR集群各建立Read、WriteService,通過K8SService機(jī)制對(duì)外暴露MySQL服務(wù)。整體拓?fù)浣Y(jié)構(gòu)如下所示:MySQLOperator功能邏輯MySQLOperator的功能包括MGR集群創(chuàng)建、集群維護(hù)、CPU內(nèi)存資源升級(jí)、MGR節(jié)點(diǎn)擴(kuò)縮容、節(jié)點(diǎn)遷移等。由于MGR集群跨K8S部署,所以在Operator的邏輯上不能只管控本地資源,還需關(guān)注在同城運(yùn)行的那一部分MGR節(jié)點(diǎn)的情況。MGR集群創(chuàng)建在MySQLMGR集群CR資源定義中包含以下三個(gè)字段:flag字段為primary標(biāo)識(shí)MGR的主應(yīng)該在本地ipList定義部署在本地K8S集群的MGRPod列表,以及具體的PodIP和所在K8S節(jié)點(diǎn)remoteList定義部署在同城K8S集群的MGRPod列表;本地Operator會(huì)通過該字段中的IP地址嘗試連接同城MGR節(jié)點(diǎn),以判斷同城MGR節(jié)點(diǎn)是否連通以及角色是否正常spec:
flag:
"primary"
ipList:
-
ip:
""
nodeName:
"abc"
remoteList:
-
ip:
""
nodeName:
"abc"在MGR集群創(chuàng)建流程中,兩邊Operator均需確定ipList和remoteList中的PodIP地址均可連通,確定MGR集群所屬的Pod均已啟動(dòng)后才能執(zhí)行MGR集群的創(chuàng)建工作。創(chuàng)建的時(shí)候,flag為primary側(cè)的Operator會(huì)在本K8S集群中選出一個(gè)MGRPod進(jìn)行主節(jié)點(diǎn)的引導(dǎo)啟動(dòng),其余本地Pod和flag為standby側(cè)集群的Pod均啟動(dòng)為從節(jié)點(diǎn)。MGR集群維護(hù)集群維護(hù)功能是為了保證MGR集群按照預(yù)期運(yùn)行,集成了各種異常場(chǎng)景下處理邏輯,主要包括以下幾個(gè)部分:保證Service、PVC、Configmap等需要的K8S資源按照預(yù)期創(chuàng)建保證MySQLPod數(shù)量和運(yùn)行狀態(tài)正常保證MySQLPod的角色標(biāo)簽和實(shí)際的MGR角色一致維持Pod內(nèi)的MySQLMGR進(jìn)程啟動(dòng)判斷MGR主節(jié)點(diǎn)是否切換,并進(jìn)行切主后操作等除了Operator的集群維護(hù)功能,另一個(gè)保證服務(wù)持續(xù)可用的是MySQL自身的MGR機(jī)制。在整體設(shè)計(jì)中,我們對(duì)Operator和MGR兩種機(jī)制管控范圍的做了清晰的邊界劃分:即Operator只保證MGR運(yùn)行所需的環(huán)境正常,如節(jié)點(diǎn)數(shù)、進(jìn)程啟動(dòng)狀態(tài)、配置等正常,但涉及到主節(jié)點(diǎn)切換等MGR機(jī)制內(nèi)部的事情,Operator只做觀察并把最新狀態(tài)反映到CR的Status字段中而不去做干預(yù)。在Operator的設(shè)計(jì)中,只有三種情況會(huì)進(jìn)行主節(jié)點(diǎn)干預(yù):一是集群新建的情況;二是在確認(rèn)所有集群節(jié)點(diǎn)都為從節(jié)點(diǎn)的情況,選出gtid最大的節(jié)點(diǎn)啟動(dòng)為主;三是收到災(zāi)備切換的請(qǐng)求,會(huì)將主切到flag=primary的一側(cè)。MGR集群運(yùn)維操作Operator支持對(duì)MGR集群進(jìn)行一些常規(guī)的運(yùn)維操作,包括本地/同城節(jié)點(diǎn)的上線、下線,Pod內(nèi)存、CPU資源的擴(kuò)縮容、Pod使用鏡像的更換以及MySQL的配置文件更新等。Operator最重要的任務(wù)是維持集群正常運(yùn)行,對(duì)于這些運(yùn)維操作在設(shè)計(jì)時(shí)采用了一個(gè)穩(wěn)妥的方案:所有的運(yùn)維操作必須基于維護(hù)流程判斷集群狀態(tài)正常(有且僅有一個(gè)主節(jié)點(diǎn),其余節(jié)點(diǎn)均運(yùn)行正常且為從節(jié)點(diǎn))的情況下才可進(jìn)行在狀態(tài)轉(zhuǎn)換流程中設(shè)置操作的優(yōu)先級(jí),先進(jìn)行優(yōu)先級(jí)高的操作,如新加節(jié)點(diǎn)的優(yōu)先級(jí)高于刪除節(jié)點(diǎn)的優(yōu)先級(jí)如果涉及到類似于多個(gè)節(jié)點(diǎn)添加的批量操作,Operator會(huì)將批量操作拆分為單個(gè)操作的順序執(zhí)行,每步操作完成后確認(rèn)集群狀態(tài)正常才能繼續(xù)下一步操作整體流程如下圖所示:MGR集群災(zāi)備切換災(zāi)備切換包含兩部分:第一部分是MGR集群的主節(jié)點(diǎn)切換到同城集群;第二部分是客戶端網(wǎng)絡(luò)流量打到同城集群。對(duì)于第二部分的實(shí)現(xiàn)有手動(dòng)改客戶端訪問地址、更改DNS指向、使用代理轉(zhuǎn)發(fā)等多種方法,本文不做討論。對(duì)于第一部分,Operator做了一個(gè)便捷化的實(shí)現(xiàn),在檢測(cè)到flag字段由standy變?yōu)閜rimary的時(shí)候會(huì)主動(dòng)發(fā)起一次切主操作,試圖將主切換到現(xiàn)在的primary這邊。要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年甘油膠水:UV膠水項(xiàng)目建議書
- 消防宣傳活動(dòng)總結(jié)15篇
- 車間維修過程管理信息系統(tǒng)測(cè)試計(jì)劃
- 2025年貴金屬壓延加工材合作協(xié)議書
- 2025年基因工程亞單元疫苗合作協(xié)議書
- 2025年防霧涂料合作協(xié)議書
- 教育心理學(xué)指導(dǎo)下的教學(xué)方案設(shè)計(jì)
- 教育技術(shù)如何重塑商業(yè)未來
- 安徽省滁州市定遠(yuǎn)縣西片區(qū)2025屆高一物理第二學(xué)期期末考試試題含解析
- 心理輔導(dǎo)與教育心理學(xué)的融合實(shí)踐
- 護(hù)士長崗位面試問題及答案
- DB11∕T 212-2024 園林綠化工程施工及驗(yàn)收規(guī)范
- 醫(yī)療廢物與污水處理培訓(xùn)
- 律師事務(wù)所客戶數(shù)據(jù)安全管理制度
- 2025數(shù)學(xué)新課程標(biāo)準(zhǔn)培訓(xùn)
- 2025-2030中國新能源行業(yè)市場(chǎng)現(xiàn)狀供需分析及重點(diǎn)企業(yè)投資評(píng)估規(guī)劃分析研究報(bào)告
- 倉庫物流車輛管理制度
- GB/T 45698-2025物業(yè)服務(wù)客戶滿意度測(cè)評(píng)
- GB/T 16603-2025錦綸牽伸絲
- 2025年新高考1卷(新課標(biāo)Ⅰ卷)語文試卷(含答案)
- 直播帶貨主播用工合同范本
評(píng)論
0/150
提交評(píng)論