...
Pre-Installation Requirements
Hardware Requirements
Note |
---|
Number of Hardware requirements depends mainly on the Use Case Scenario. A use case can have one to multiple ELIOT Edge Nodes Note: For ELIOT Release 1.0 ELIOT Manager is acting a dual role Jump server (to execute the setup script) and as the Kubernetes Master. Also currently the below hardware capability are mentioned for the Virtual Machines. |
ELIOT Manager - One VM - 8 vCPU - 32 GB RAM (can be hosted in any cloud provider) with Ubuntu OS having internet and network connectivity with ELIOT Edge Node.
ELIOT Edge Node - Ubuntu OS 16.04 installed with networking and internet capability.
Minimum Hardware Requirements
ELIOT Manager | |
---|---|
HW Aspect | Requirements |
# of Node(s) | A virtual machine hosted in any Cloud Provider having internet connectivity. |
CPU | Minimum 1 socket x86_AMD64 or ARM64 with Virtualization support. |
RAM | 4 GB, it depends on the number of ELIOT Edge nodes which will be managed by ELIOT Manager. For Deployment in Development environment 8 GB is sufficient. |
Disk | 120 GB ~ 512GB (Depending on the overall ELIOT Topology) |
Networks | 1 |
ELIOT Edge Node(s) | |
---|---|
HW Aspect | Requirements |
# of Node(s) | 1 Eliot Edge Node |
CPU | Minimum 1 socket x86_AMD64 or ARM64. |
RAM | 1 GB, it depends on the number of ELIOT Edge nodes which will be managed by ELIOT Manager. For Deployment in Development environment 4 GB is sufficient. |
Disk | 20 GB ~ 256 GB |
Network | 1 |
Recommended Hardware Requirements
ELIOT Manager | |
---|---|
HW Aspect | Requirements |
cc | A virtualized machine hosted in any Cloud Provider having internet connectivity. |
CPU | Minimum 1 socket x86_AMD64 or ARM64 with Virtualization support. |
RAM | 8 GB ~ 64 GB it depends on the number of ELIOT Edge nodes which will be managed by ELIOT Manager. For Deployment in Development environment 4 GB is sufficient. |
Disk | 120 GB ~ 512GB (Depending on the overall ELIOT Topology) |
Networks | 2 to 4 Network Interfaces with public IP. |
ELIOT Edge Node(s) | |
---|---|
HW Aspect | |
#of Node(s) | 1 Eliot Edge Node |
CPU | Minimum 1 socket x86_AMD64 or ARM64 with Virtualization support. |
RAM | 2 GB ~ 16 GB it depends on the number of ELIOT Edge nodes which will be managed by ELIOT Manager. For Deployment in Development environment 4 GB is sufficient |
Disk | 20 GB ~ 256GB (Depending on the overall ELIOT Topology) |
Networks | 2 Network Interfaces . |
Software Prerequisites
- Virtual Machines preinstalled with Ubuntu 16.04
- root user created in the ELIOT Manager and ELIOT Edge Node
- SSH Server running in both the Nodes.
- sshpass installed in ELIOT Manager
- scp installed in ELIOT Manager and ELIOT Edge Node
- GO Lang installed in ELIOT Manager and ELIOT Edge Node (Note : This is required when we are setting up the ELIOT using KubeEdge.)
- git should be installed in ELIOT Manager and ELIOT Edge Node.
...
- Internet Connectivity in both ELIOT Manager and ELIOT Edge Node
- ELIOT Manager and ELIOT Node should be able to ping each other. Same network.
Bare Metal Node Requirements
...
Installation High-Level Overview
In ELIOT Release 1.0 for deployment 2 Ubuntu 16.04 Virtual Machines are used.
The steps includes to setup the following two environments To setup the complete ELIOT IoT Gateway Environment need to execute one script which will bootstrap the installation and provide the complete ELIOT Cluster on which applications can be deployed.
In Release 2.0 installations steps are provided to setup following ELIOT IoT Gateway Environments :
- ELIOT Deployment using Kubernetes. IoT Deployment on Ubuntu OS 16.04
- ELIOT IoT Gateway Deployment on Minimal OS (Tailored OS based on Cent OS)
- ELIOT Deployment using KubeEdge (Lightweight Kubelet)
Bare Metal Deployment Guide
...
Standard Deployment Overview
ELIOT IoT Gateway Deployment (Ubuntu & Cent OS)
Clone the ELIOT git Repo in ELIOT Manager node. It will create eliot folder, for executing the script go to $HOME/eliot/blueprint/iotgateway/scripts folder.
Edit the nodelist file with ELIOT Edge Node details. Replace the below contents with the actual value with '|' separated.
The below details are required in the setup.sh for sshpass command. The details are required by sshpass to login to ELIOT Edge Node from ELIOT Manager and execute the deployment scripts in the ELIOT Edge Node.
<eliotedgenodeusername>|<eliotedgenodeip>|<eliotedgenodepassword>
- eliotedgenodeusername – ELIOT Edge Node User Name. Example : akraino-slave-002
- eliotedgenodeip – ELIOT Edge Node IP. Example : 159.123.1.50
- eliotedgenodepassword - ELIOT Edge Node Password used in setup.sh script to login to ELIOT Edge node from ELIOT Manager to execute scripts in ELIOT Edge node.
The ELIOT Edge Node should be reachable from ELIOT Manager and ssh should work from ELIOT Manager to ELIOT Edge node as a prerequisite.
No Format |
---|
root@akraino-slave-001:#git clone "https://gerrit.akraino.org/r/eliot"
root@akraino-slave-001:#cd eliot/blueprints/iotgateway/scripts
root@akraino-slave-001:~/eliot/blueprints/iotgateway/scripts#vim nodelist
|
After editing the nodelist file , execute the setup.sh script. The setup.sh script internally installs Docker and Kubernetes with Calico CNI plugin and RBAC for authorization.
No Format |
---|
root@akraino-slave-001:~/eliot/blueprints/iotgateway/scripts#./setup.sh |
Once the execution is completed in console will see prompt "ELIOT IOT-Gateway
...
Platform Deployment--------------------------SUCCESS".
Following packages will be installed in the cluster in the respective nodes:-
ELIOT Manager
S. No | Software | Type | Version | Remarks |
1. | Docker | CRI | 18.06 | |
2. | Kubernetes | Orchestration | 1.16 | |
3 | Prometheus | Monitoring | Running as Docker Container |
ELIOT IoT Gateway Node
S. No. | Software | TypeOS | Version | Remarks |
1. | Docker | CRI | 18.06 | |
2. | Kubernetes | Orchestration | 16.0 | When Kubernetes is being used for the IoT Gateway Blueprint |
3. | EdgeX | IoT Platform | Edinburgh | EdgeX Platfrom. This will be running on the IoT Gateway Node |
4. | cAdvisor | Container Metrics | Latest Container version in Docker Hub | Running as Docker Container. |
5. | OPC-UA | IoT Platform |
ELIOT IoT Gateway Deployment (Tailored OS)
Clone the ELIOT git repo Repo in ELIOT Manager node. It will create eliot folder, for executing the script go to $HOME/eliot/blueprint/iotgateway/scripts folder.
The ELIOT Edge Node (IoT Gateway Node) is a tailored OS Virtual Machine. (Tailored OS used in the environment is created using steps mentioned in the link ELIOT Tailored OS Creation Document
Edit the nodelist file with ELIOT Edge Node details. Replace the below contents with the actual value with '|' separated.
...
No Format |
---|
root@akraino-slave-001:~/eliot/blueprints/iotgateway/scripts#./setup.sh |
Once the execution is completed in console will see prompt "ELIOT IOT-Gateway Platform Deployment--------------------------SUCCESS".
Following packages will be installed in the cluster in the respective nodes:-
ELIOT Manager
S. No | Software | Type | Version | Remarks |
1. | Docker | CRI | 18.06 | |
2. | Kubernetes | Orchestration | 1.16 | |
3 | Prometheus | Monitoring | Running as Docker Container |
ELIOT IoT Gateway Node
S. No. | Software | TypeOS | Version | Remarks |
1. | Docker | CRI | 18.06 | |
2. | Kubernetes | Orchestration | 16.0 | When Kubernetes is being used for the IoT Gateway Blueprint |
3. | EdgeX | IoT Platform | Edinburgh | EdgeX Platfrom. This will be running on the IoT Gateway Node |
4. | cAdvisor | Container Metrics | Latest Container version in Docker Hub | Running as Docker Container. |
5. | OPC-UA | IoT Platform |
ELIOT IoT Gateway Deployment using KubeEdge
...
Info |
---|
Note: We are running setup.sh without updating nodelist file. This is required to setup k8s master node which is required as a pre-requisite prerequisite for kubeedge KubeEdge setup in kubeedgeKubeEdge_setup.sh → we are currently using V1.1.0 version of kubeedge ( latest stable version package ) PATH_OF_KUBEEDGE variable has to be set with path of the kubeedge folder. This will be "eliot/blueprints/iotgateway/scripts/kubeedge" KUBEEDGE_VERSION_ETC → variable has to be set with "/etc/kubeedge-v1.1.0-linux-amd64/" since we are using 1.1.0 version of kubeedge |
...
There are two images created for Manager and Node machines. These are .qcow2 files. After deploying the VMs Virtual Machines using these images, your setup for ELIOT is ready in minutes. Following is the link to the document to use these images:
...