設(shè)置邊緣節(jié)點(diǎn)自治
ACK Edge集群支持邊緣節(jié)點(diǎn)自治,在邊緣和云端網(wǎng)絡(luò)斷連狀態(tài)下,保證邊緣節(jié)點(diǎn)上的業(yè)務(wù)應(yīng)用仍然可以持續(xù)穩(wěn)定地運(yùn)行,而不會被驅(qū)逐或者遷移到其他邊緣節(jié)點(diǎn)。如果您將邊緣節(jié)點(diǎn)設(shè)置為非自治,云邊斷連時節(jié)點(diǎn)上的應(yīng)用在到達(dá)容忍時間之后將會被驅(qū)逐。本文介紹如何通過控制臺為邊緣節(jié)點(diǎn)設(shè)置節(jié)點(diǎn)的自治屬性。
前提條件
背景信息
設(shè)置邊緣節(jié)點(diǎn)自治包括設(shè)置節(jié)點(diǎn)自治和節(jié)點(diǎn)非自治兩種配置,邊緣節(jié)點(diǎn)接入集群后默認(rèn)為非自治狀態(tài)。
當(dāng)邊緣節(jié)點(diǎn)被設(shè)置為自治狀態(tài)時,如果邊緣節(jié)點(diǎn)和云端管控斷連,此時不僅系統(tǒng)能夠保證節(jié)點(diǎn)上的應(yīng)用不會被驅(qū)逐,而且節(jié)點(diǎn)上的應(yīng)用也會自動恢復(fù)。設(shè)置節(jié)點(diǎn)自治適用于邊緣計算的弱網(wǎng)絡(luò)連接場景。
當(dāng)邊緣節(jié)點(diǎn)被設(shè)置為非自治狀態(tài)時,如果邊緣節(jié)點(diǎn)和云端管控斷連,節(jié)點(diǎn)因不能正常地將心跳上報至管控端,而會被設(shè)置為不可用(not ready)狀態(tài),且節(jié)點(diǎn)上的應(yīng)用在到達(dá)容忍時間之后將會被驅(qū)逐。
操作步驟
通過控制臺的方式開啟節(jié)點(diǎn)自治
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在節(jié)點(diǎn)頁面,選擇目標(biāo)節(jié)點(diǎn)操作列的 。
說明僅當(dāng)前節(jié)點(diǎn)是邊緣節(jié)點(diǎn)時,才會顯示節(jié)點(diǎn)自治設(shè)置按鈕。
在彈出的節(jié)點(diǎn)自治設(shè)置對話框中,單擊確定。
通過kubectl命令行的方式開啟節(jié)點(diǎn)自治
給邊緣節(jié)點(diǎn)添加如下注解,開啟節(jié)點(diǎn)自治。
kubectl annotate node xxx node.beta.openyurt.io/autonomy=true --overwrite
查看節(jié)點(diǎn)自治狀態(tài)
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在節(jié)點(diǎn)頁面,選擇目標(biāo)節(jié)點(diǎn)操作列的。
在基本信息頁面下方找到狀態(tài)頁簽,查看類型為Autonomy對應(yīng)狀態(tài)是True表示自治開啟成功。
配置緩存組件
當(dāng)前EdgeHub會將節(jié)點(diǎn)上的組件所需要的相關(guān)數(shù)據(jù)進(jìn)行緩存,在云邊斷網(wǎng)時確保這些組件可以正常運(yùn)行,磁盤緩存目錄為/etc/kubernetes/cache
。
緩存的數(shù)據(jù)指的是與API Server進(jìn)行交互的數(shù)據(jù),比如Pod、ConfigMap等資源信息,不包含業(yè)務(wù)數(shù)據(jù)。
如果您有組件需要在邊緣節(jié)點(diǎn)斷網(wǎng)的情況下依賴API Server的數(shù)據(jù)信息來正常運(yùn)行,可以按照如下步驟進(jìn)行配置。
獲取您的開發(fā)人員提供的User-Agent,如果是社區(qū)組件,可以在社區(qū)內(nèi)進(jìn)行查詢。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
切換命名空間為kube-system,找到名稱為edge-hub-cfg的ConfigMap,在右側(cè)單擊YAML 編輯。
將您的User-Agent添加到
cache_agents
配置項中,然后單擊確定。您可以登錄節(jié)點(diǎn),進(jìn)入
/etc/kubernetes/cache
目錄,查看是否有名為您的User-Agent的目錄。
配置完成后,對應(yīng)的組件和API Server之間交互的數(shù)據(jù)都會保存到節(jié)點(diǎn)的磁盤里。如果您開啟了節(jié)點(diǎn)自治,組件將會從本地磁盤獲取數(shù)據(jù),從而確保正常運(yùn)行。