Getting Started
Verified against the Helm chart for Akri (close to tag v0.13.8). Commands assume a running Kubernetes cluster and a configured
kubectl.
Prerequisites
- A Kubernetes cluster, v1.33 or newer (source 6).
kubectlpointed at that cluster.helm(v3).
Install
Add the Akri Helm repository and install the core components (Controller and Agent only):
helm repo add akri-helm-charts https://project-akri.github.io/akri/
helm install akri akri-helm-charts/akriA first working setup
This enables the udev Discovery Handler and a Configuration that discovers USB video devices, scheduling an nginx broker per device.
Install (or upgrade) the release with the udev handler and Configuration enabled.
bashhelm install akri akri-helm-charts/akri \ --set udev.discovery.enabled=true \ --set udev.configuration.enabled=true \ --set udev.configuration.discoveryDetails.udevRules[0]='KERNEL=="video[0-9]*"' \ --set udev.configuration.brokerPod.image.repository=nginxConfirm the Configuration CRD was created.
bashkubectl get akricWatch for Instances, one per discovered device (the short name is
akrii).bashkubectl get akrii
Verify it works
Check that the Controller and Agent pods are running and that brokers were scheduled for any discovered device:
kubectl get pods -o wideIf a USB video device was found, an Instance appears under kubectl get akrii and a broker Pod is scheduled on the node that sees the device. With no matching device present, the Configuration exists but no Instances are created, which is expected.
Where to go next
The official docs at https://docs.akri.sh/ cover the other Discovery Handlers (ONVIF, OPC UA), writing a custom handler against the gRPC protocol, broker and Service configuration, and production concerns such as capacity tuning and metrics.