EdgeLake is a decentralized network to manage IoT/Edges data. Nodes are compute instances that execute the EdgeLake Software and that are part of a nodes network.
The EdgeLake network is using one MASTER Node (is has all the network meta data), as many OPERATOR nodes as required (this is where the data is) and at least one QUERY node (this is where a query for the data is made, nodes can be dual role Query+Operator). The Query node is where the end-user (human or application, Grafana to build a dashboard for example) queries data, it knows from the meta data which Operators to goto and does it peer to peer.
note: the Master node can also be replaced by a Blockchain service & contract : we will not cover this below for the time being
Adding EdgeLake to Open Horizon implementations extends OH value it allows :
- collection of nodes health simply
- extending data queried to other sensors: data usefull to the user (machine rpms for example)
In a typical Open Horizon deployment here are the main elements:
Adding EdgeLake to an existing Open Horizon deployment, the simplest pattern is to locate the Master and Query nodes together 'centrally' with the OH Managenent Hub as below:
A more practical approach is to have the Query node (at least one) elsewhere as below (avoiding to move
data to the Management Hub : Peer to Peer collection), and one can have as many Query nodes as needed:
For demonstrating and testing on a single system we created deployment tools:
- 2x .sh for the Management side (deploy Master, deploy Query)
- 1x .sh for the Agent side (deploy Operator during Edge build and initial Agent installation)
- 1x 1 Service Policy for Operator at Edge (deploy Operator into an already deployed Edge using the Horizon deployment tool)
Here is the simplified diagram when deploying on a single physical system:
Back to deployment, with the instructions below you will be able to deploy an integrated OH+EL setup to run a simple dashboard. Creating a nodes network requires the following steps:
- Install the EdgeLake Software on one or more computer instances.
- Configure each installed node (compute instance) such that:
- The node joins an exiting network (or creates a new network).
- The node offers data management and monitoring services.
- Install OpenHorizon
- Deploy EdgeLake
- EdgeLake KubeArmor Integration - Accepting KubeArmor data into EdgeLake
- Import Grafana Dashboards - Importing KubeArmor related gauges into Grafana