Note: See the cluster setup steps for information on how to set the crictl configuration variableAKRI_HELM_CRICTL_CONFIGURATION
helm inspect values akri-helm-charts/akri
). For more advanced Configuration changes that are not aided by our Helm chart, we suggest creating a Configuration file using Helm and then manually modifying it.onvif.configuration.enabled
with udev.configuration.enabled
and add a udev rule. For OPC UA, substitute with opcua.configuration.enabled
.){{PLACEHOLDER}}
. The Controller inserts the request for the discovered device/Instance here.brokerPodSpec
property is a full PodSpec and can be modified as such. For example, to allow the master Node to have a protocol broker Pod scheduled to it, modify the Configuration, ONVIF in this case, like so:brokerJobSpec
property is a full JobSpec and can be modified as such. Akri's Helm chart enables modifying the capacity
, parallelism
, and backoffLimit
fields of the JobSpec. Other fields of the JobSpec and the PodSpec within the JobSpec can be specified in a similar manner as described in the modifying the PodSpec section.instanceServiceSpec
and configurationServiceSpec
properties are full ServiceSpecs and can be modified as such. The simplest reason to modify either might be to specify different ports (perhaps 8085 and 8086):instanceServiceSpec
and configurationServiceSpec
(like name, port, targetPort, and protocol) can be set using Helm's --set
command, e.g.--set onvif.instanceService.targetPort=90
.helm install
akri-onvif
and akri-udev
Configuration have been created by running:helm upgrade
commandhelm upgrade
helm upgrade
command. It upgrades an existing release according to the values provided, only updating what has changed. Simply modify your helm install
command to reflect the new desired state of Akri and replace helm install
with helm upgrade
. Using the ONVIF protocol implementation as an example, say an IP camera with IP address 10.0.0.1 is malfunctioning and should be filtered out of discovery, the following command could be run:helm upgrade --set onvif.configuration.discoveryDetails.ipAddresses.items[0]=10.0.0.1
; rather, it includes all the old settings along with the new one. Also, note that we assumed you specified a broker pod image in your original installation command, so that brokers were deployed to utilize discovered cameras.helm upgrade
or via a new Helm installation.helm upgrade
helm upgrade
. For example, if you originally installed just the ONVIF Configuration and now also want to discover local cameras via udev, as well, simply run the following:brokerSpec
of the Configuration using one of the strategies from the section on modifying a deployed Configuration.brokerSpec
like so:Note: The Agent and Controller can only gracefully handle changes to thebrokerSpec
. If any other parts of the Configuration are modified, the Agent will restart discovery, deleting and recreating the Instances.
helm upgrade
, helm delete
, or kubectl.helm upgrade
helm upgrade
. For example, if both ONVIF and udev Configurations have been installed in a cluster, the udev Configuration can be deleted by only specifying the ONVIF Configuration in a helm upgrade
command like the following:helm delete
udev-config
in this example), the Configuration can be deleted by deleting the installation.kubectl get akric
. If both udev and ONVIF Configurations have been applied with capacities of 5. The output should look like the following:agent.full=true
, like so:<discovery handler name>.discovery.enabled=true
when installing Akri. For example, Akri is installed with the OPC UA and ONVIF Discovery Handlers like so: