全部產品
Search
文件中心

Container Service for Kubernetes:設定邊緣節點自治

更新時間:Oct 19, 2024

ACK Edge叢集支援邊緣節點自治,在邊緣和雲端網路斷連狀態下,保證邊緣節點上的業務應用仍然可以持續穩定地運行,而不會被驅逐或者遷移到其他邊緣節點。如果您將邊緣節點設定為非自治,雲邊斷連時節點上的應用在到達容忍時間之後將會被驅逐。本文介紹如何通過控制台為邊緣節點設定節點的自治屬性。

前提條件

背景資訊

設定邊緣節點自治包括設定節點自治和節點非自治兩種配置,邊緣節點接入叢集後預設為非自治狀態。

  • 當邊緣節點被設定為自治狀態時,如果邊緣節點和雲端管控斷連,此時不僅系統能夠保證節點上的應用不會被驅逐,而且節點上的應用也會自動回復。設定節點自治適用於邊緣計算的弱網路連接情境。

  • 當邊緣節點被設定為非自治狀態時,如果邊緣節點和雲端管控斷連,節點因不能正常地將心跳上報至管控端,而會被設定為不可用(not ready)狀態,且節點上的應用在到達容忍時間之後將會被驅逐。

操作步驟

通過控制台的方式開啟節點自治

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點

  3. 節點頁面,選擇目標節點操作列的更多 > 節點自治設定

    說明

    僅當前節點是邊緣節點時,才會顯示節點自治設定按鈕。

  4. 在彈出的節點自治設定對話方塊中,單擊確定

通過kubectl命令列的方式開啟節點自治

給邊緣節點添加如下註解,開啟節點自治。

kubectl annotate node xxx node.beta.openyurt.io/autonomy=true --overwrite

查看節點自治狀態

  1. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點

  2. 節點頁面,選擇目標節點操作列的更多 > 詳情

  3. 基本資料頁面下方找到狀態頁簽,查看類型為Autonomy對應狀態是True表示自治開啟成功。image

配置緩衝組件

當前EdgeHub會將節點上的組件所需要的相關資料進行緩衝,在雲邊斷網時確保這些組件可以正常運行,磁碟緩衝目錄為/etc/kubernetes/cache

說明

緩衝的資料指的是與API Server進行互動的資料,比如Pod、ConfigMap等資源資訊,不包含業務資料。

如果您有組件需要在邊緣節點斷網的情況下依賴API Server的資料資訊來正常運行,可以按照如下步驟進行配置。

  1. 擷取您的開發人員提供的User-Agent,如果是社區組件,可以在社區內進行查詢。

  2. 登入Container Service管理主控台,在左側導覽列選擇叢集

  3. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇組態管理 > 配置項

  4. 切換命名空間kube-system,找到名稱edge-hub-cfg的ConfigMap,在右側單擊YAML 編輯

  5. 將您的User-Agent添加到cache_agents配置項中,然後單擊確定

  6. 您可以登入節點,進入/etc/kubernetes/cache目錄,查看是否有名為您的User-Agent的目錄。

配置完成後,對應的組件和API Server之間互動的資料都會儲存到節點的磁碟裡。如果您開啟了節點自治,組件將會從本地磁碟擷取資料,從而確保正常運行。