iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 6
0

今天要介紹的是Edge端的元件,元件有點多所以會分幾天作分享。

EdgeHub

EdgeD

負責管理邊緣端Pod的生命週期。也可以協助使用者執行工作,例如資料擷取、模型驗證等工作。分成幾個功能模組:

(EdgeD功能模組,取自官方文件)

Pod Management

管理Pod的新增/刪除/更新,如Pod新增時掛載對應的儲存空間、要求secret、確認容器映像檔取得等前置工作。更多執行細節可以參考官方文件裡提供的流程圖(在元件標題上)。通常是執行時查看核心log發現有問題時才會查對應的流程圖,判斷可能是哪裡出錯。

Pod Lifecycle Event Generator

協助更新Pod狀態,可讀性(readiness)以及可存取性(liveness)

CRI支援

在1.4版本中提供CRI(Container Runtime Interface)支援,可以支援不同的容器引擎,當邊緣節點的資源受限時可以改用更輕量化的容器引擎而不受限於只能使用docker。

Meta Client

作為EdgeD與Meta Manager間的介面,提供EdgeD向Meta Manager請求configmap、secret;同時也負責轉發節點、Pod狀態給Meta Manager向雲端傳送。

Secret Management

負責管理Secret的調用。通常secret是存在雲端的,需要時才會向雲端請求;考慮到雲端與邊緣間網路的不穩定性,當EdgeD透過MetaClient向MetaManager(邊緣端的元件,後面會再說明)請求secret時,如果本地端資料庫沒有必須從雲端請求的話,在取得secret後會同時存一份在本地資料庫中,再回應EdgeD的請求,之後有需要再調用secret時便能從本地資料庫取得,不需要再向雲端請求。

Probe Management

探針管理負責監控Pod的可讀性(readiness)與可存取性(liveness)。

ConfigMap Management

負責管理ConfigMap,運作流程和前面提到的Secret Management類似,同樣和MetaManager要求,取得後仍然會保存一份在本地端資料庫中。

接者以下兩個元件是有關邊緣端的資源管理:

Container GC, Container Garbage Collector

負責回收死掉的容器資源,每分鐘執行一次。有幾個參數可以由使用者設定

  • MinAge
    容器可被回收的最小週期
  • MaxPerPodContainer
    每個Pod最多可以有幾個死掉的容器,多的會被清理
  • MaxContainers
    節點上死掉的容器上限

預設會從最老的容器開始清理。

Image GC

負責清理容器映像檔(image),每五秒執行一次,容器的映像檔有時候很佔空間,考慮到邊緣裝置硬體設備的有限性所以設計這個功能,使用者定義的參數有

  • HighThresholdPercent
  • LowThresholdPercent
    當佔用空間容量到達HighThresholdPercent時會開始清理;達到LowThresholdPercent會停止,最少使用的映像檔會優先被清除。

Status Manager

每十秒更新一次Pod狀態,透過Meta Client向Meta Manager傳達狀態訊息,由Meta Manager和本地端資料庫同步過Pod狀態後再經由EdgeHub向雲端傳達Pod狀態。

Volume Management

管理Pod容器的儲存空間操作(attach/mounted/unmounted/detached)


上一篇
Day 5: KubeEdge 元件: Cloud
下一篇
Day 7: KubeEdge 元件: Edge(II)
系列文
從開源kubernetes雲端運算到kubeedge雲邊協同30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言