容器部署場(chǎng)景下如何保障配置中心可用性達(dá)到99.99%
一、背景說明
開源Apollo Client實(shí)現(xiàn)了把配置緩存到本地目錄的邏輯,從配置中心拉取不到配置時(shí)可以從本地獲取。但是,在容器部署場(chǎng)景下,微服務(wù)重啟,擴(kuò)容等會(huì)存在實(shí)例漂移的情況,漂移后會(huì)拉取不到配置,或者拉取的不是最新配置,配置中心宕機(jī)或者網(wǎng)絡(luò)斷聯(lián)后則影響微服務(wù)正常啟動(dòng)。配置中心可靠性成為各云服務(wù)可靠性最短的那塊木板。為了解決以上問題,提供基于華為云OBS的配置可靠性方案。
二、方案簡(jiǎn)述
通過華為云CCE綁定一個(gè)OBS桶,給每個(gè)微服務(wù)的工作負(fù)載配置緩存路徑掛載到OBS上,保證配置中心失聯(lián),實(shí)例在漂移的情況下可以從OBS讀取配置,提高配置可靠性
三、預(yù)期效果
使用了該功能的微服務(wù),如果Apollo配置中心失聯(lián),微服務(wù)唯一失去的是通過Apollo界面修改配置,而不影響基本功能,緊急情況下通過修改OBS的配置文件,重啟微服務(wù)也能達(dá)到修改配置效果,提提升配置可靠性到99.99%
四、實(shí)現(xiàn)步驟
步驟一:CCE創(chuàng)建PVC
1、登錄華為云--->云容器引擎(CCE)--->資源管理--->存儲(chǔ)管理--->對(duì)象存儲(chǔ)卷--->創(chuàng)建對(duì)象存儲(chǔ)卷。
注意:這個(gè)地方建議創(chuàng)建對(duì)象存儲(chǔ),不要選導(dǎo)入已有的存儲(chǔ),因?yàn)闀?huì)掛載到工作負(fù)載上,導(dǎo)入已有的存儲(chǔ)會(huì)把原有存儲(chǔ)里面的內(nèi)容共享到Docker里面
2、創(chuàng)建一個(gè)對(duì)象存儲(chǔ)卷。
注:華為云提示更新秘鑰文件,按照指導(dǎo)更新即可,其中可以跳過重啟工作負(fù)載(后續(xù)掛載路徑時(shí)可以或重啟工作負(fù)載)
PVC(PersistentVolumeClaim)是K8s中概念,需要了解可以搜索一下。
注:步驟一中創(chuàng)建對(duì)象存儲(chǔ)卷可以提前做,避免真實(shí)操作中出現(xiàn)啥問題,提前做可以提前發(fā)現(xiàn),提前讓華為云解決
步驟二:工作負(fù)載掛載云存儲(chǔ)
1、登錄華為云--->工作負(fù)載--->選擇需要掛載的微服務(wù)--->更新升級(jí)--->高級(jí)設(shè)置--->數(shù)據(jù)存儲(chǔ)--->云存儲(chǔ)--->添加云存儲(chǔ)
2、添加云存儲(chǔ)
掛載路徑:/opt/iot/apolloconfigcache
注:暫時(shí)不需要提交,還需要添加環(huán)境變量
3、通過環(huán)境變量添加Apollo-Client緩存目錄,環(huán)境變量名稱:APOLLO_CACHEDIR,環(huán)境變量值:/opt/iot/apolloconfigcache
場(chǎng)景二:
修改tosca模板,通過AOS部署的時(shí)自動(dòng)掛載好緩存目錄
1、tosca模板添加輸入變量,PVC名字,即步驟一創(chuàng)建的PVC名稱
可復(fù)制,注意格式:
obs-pvc-name:
description: pvc名字
label: pvc
2、tosca模板設(shè)置掛載路徑
模板示例:(粘到模板里注意格式和縮進(jìn))
第一部分:
- name: apollo-cachedir
mountPath: /opt/iot/apolloconfigcache
第二部分:
- name: apollo-cachedir
persistentVolumeClaim:
claimName:
get_input: obs-pvc-name
name: apollo-cachedir
3、tosca模板設(shè)置Apollo-Client緩存目錄
在tosca環(huán)境變量部分添加Apollo-Client緩存路徑,name:APOLLO_CACHEDIR,value:/opt/iot/apolloconfigcache
對(duì)象存儲(chǔ)服務(wù) OBS 容器
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。