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) ,上面有技術文件、以及完整部署的示範資源。