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.