IoT 裝置跑不動 K8s?微軟釋出 Akri 助 K8s 定位所有邊緣裝置
微軟上周宣佈以開放專案釋出一項名為 Akri 的工具,旨在讓 Kubernetes 尋找到並跑在邊緣網路裝置,像是感測器、控制器和微控制器單位 (Microcontroller unit)。
這些稱為「異質分葉裝置 (leaf device)」的元件從 IP 網路攝影機到 USB 裝置不一而足,它們是邊緣運算的一部份,目的在將運算資源從資料中心延伸到網路末端的裝置,但可能小到跑不動 Kubernetes。
因此 Akri 應運而生,負責協助容器協同系統 Kubernetes 找到並使用邊緣裝置。微軟表示,Akri 這個字在希臘文中意為「邊緣」,而「A Kubernetes Resource Interface for the edge」縮寫即為 Akri。
微軟官方部落格指出,Akri 為原生支援 Kubernetes,其架構由 4 個主要 Kubernetes 元件組成:2 個客製資源、1 個裝置外掛實作、一個客製控制器。第一個客製資源 Akri Configuration 是告訴 Akri 你想要找的是哪種分葉裝置。接著就交給由 Akri Agent,這個 Kubernetes 裝置外掛框架實作來尋找,檢查有沒有你想找的裝置。
等找到後,就由 Akri Controller 幫你使用它。它會檢視每個 Akri Instance,每個 instance 都代表一個分葉裝置,然後部署一個 broker pod,以便連上與使用這個裝置。
由於邊緣裝置可能小跑不動 Kubernetes,因此 Akri 會利用不同的發現 (discovery) 協定來定位及使用不同種類的裝置。
目前 Akri 支援 2 種協定,包括 IP 攝影機的 ONVIF,以及尋找 Linux 檔案系統的 udev 協定。Akri 專案也邀請開發人員們建議其他需要優先支援的協定,像是藍牙等等。
微軟指出,Akri 能支援的協定愈多,就能找到更多種分葉裝置。
而希望 Akri 支援其他協定、或是想了解其他開發方向的開發人員,可以到 Akri 的 GitHub 網頁 (https://github.com/deislabs/akri/blob/main/docs/end-to-end-demo.md) ,上面有技術文件、以及完整部署的示範資源。