Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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 AspectRequirements
# of Node(s)A virtual machine hosted in any Cloud Provider having internet connectivity.
CPUMinimum 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.


Disk120 GB ~ 512GB (Depending on the overall ELIOT Topology)
Networks1


ELIOT Edge Node(s)
HW AspectRequirements
# of Node(s)1 Eliot Edge Node
CPUMinimum 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.


Disk20 GB ~ 256 GB
Network1

Recommended Hardware Requirements

ELIOT Manager
HW AspectRequirements
ccA virtualized machine hosted in any Cloud Provider having internet connectivity.
CPUMinimum 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.


Disk120 GB ~ 512GB (Depending on the overall ELIOT Topology)
Networks2 to 4 Network Interfaces with public IP.


ELIOT Edge Node(s)
HW Aspect

#of Node(s)

1 Eliot Edge Node
CPUMinimum 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


Disk20 GB ~ 256GB (Depending on the overall ELIOT Topology)
Networks2 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.

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 The steps includes to setup the following two 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. NoSoftwareTypeVersionRemarks
1.

Docker

CRI18.06


2.KubernetesOrchestration1.16
3PrometheusMonitoring
Running as Docker Container

ELIOT IoT Gateway Node

S. No.SoftwareTypeOSVersionRemarks
1.DockerCRI18.06
2.KubernetesOrchestration16.0When Kubernetes is being used for the IoT Gateway Blueprint
3.EdgeXIoT PlatformEdinburghEdgeX Platfrom. This will be running on the IoT Gateway Node
4.cAdvisorContainer MetricsLatest Container version in Docker HubRunning as Docker Container.
5.OPC-UAIoT 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. NoSoftwareTypeVersionRemarks
1.

Docker

CRI18.06


2.KubernetesOrchestration1.16
3PrometheusMonitoring
Running as Docker Container

ELIOT IoT Gateway Node

S. No.SoftwareTypeOSVersionRemarks
1.DockerCRI18.06
2.KubernetesOrchestration16.0When Kubernetes is being used for the IoT Gateway Blueprint
3.EdgeXIoT PlatformEdinburghEdgeX Platfrom. This will be running on the IoT Gateway Node
4.cAdvisorContainer MetricsLatest Container version in Docker HubRunning as Docker Container.
5.OPC-UAIoT 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:

...