logo

Akri: Making IoT Devices Accessible to Your Edge Kubernetes Clusters

Authors:   Kate Goldenring, Jiří Appl


Summary

Akri is an open-source Kubernetes-native project that enables IoT devices to be accessible to edge Kubernetes clusters. It provides an abstraction layer that simplifies the discovery, utilization, and monitoring of IoT devices.
  • IoT devices are often too small to run Kubernetes, so Akri provides an abstraction layer to make them accessible to edge Kubernetes clusters
  • Akri discovers and advertises IoT devices to the cluster and monitors their availability
  • Akri has an extensibility point called discovery handlers that offloads the discovery of IoT devices
  • Akri supports several discovery handlers such as ONVIF for IP cameras, UDEF for locally attached devices, and OPC UA for industrial settings
  • Akri allows for dynamic scheduling of workloads when new devices are discovered
Akri can be used in a smart farm scenario where soil moisture and pH sensors, temperature sensors, IP cameras, and microphones are deployed. Akri can discover these devices and advertise them as resources in the cluster, allowing for dynamic scheduling of workloads to utilize them. For example, in the IP camera scenario, Akri can deploy a frame server port for every camera, process the RTSP stream, extract individual frames, and pass them on to the inferencing which takes advantage of GPU and ML model to discover any predator. When a predator is found, an alert is sent. Akri handles the dynamic appearance and disappearance of devices and automatically creates services, removing the need for an application to track the state of devices, pods, or nodes.

Abstract

As Kubernetes solutions move to the edge, nodes are taken out of the homogeneity of the cloud and put in environments surrounded by an array of IoT devices such as sensors and cameras. These devices are often too small to run Kubernetes, so how can they be dynamically leveraged by Kubernetes workloads? Akri is an extensible open-source Kubernetes-native project that aims to provide a solution. Akri provides an abstraction layer, removing the work of finding, utilizing, and monitoring the availability of IoT devices. We’ll dive into how Akri can discover IoT devices, advertise them as resources in your cluster, and then automatically deploy workloads to utilize those devices. Akri handles the dynamic appearance and disappearance of devices and automatically creates services, removing the need for an application to track the state of devices, pods, or nodes. Come learn about Akri and how it can be leveraged to build a more connected edge with Kubernetes!

Materials:

Tags: