Introduction

The guide covers the installation details for components for ELIOT SD-WAN.

This guide provides the information for setting up the ELIOT Environment which includes ELIOT Manager and ELIOT Edge Node(s) with details of software and hardware specifications.

The ELIOT Manager can be any Cloud Virtual Machine having Ubuntu OS 16.04 and should be able to ping and SSH to the Eliot Edge Node.  The ELIOT Edge Node will be a Virtual Machine having Ubuntu 0S 16.04.

For Kubernetes setup Kubeadm tool is being used and for Container Networking Interface Calico plugin is being used.

For Release-2.0 the modification done in this blueprint is to support ELIOT Cluster on Cent OS 7.5 also in addition to Ubuntu 16.04. Rest of thing remains same as Release 1.0

How to use this document

The document includes details of prerequisites /pre-installation, installation and uninstalls steps.

The prerequisites and pre-installation software and hardware should be ready before executing the installation steps.

For Installation, there are two mode Auto Deployment installation script steps and manual installation.

Deployment Architecture

For Release 2.0 the Deployment Architecture consists of two nodes  ELIOT Manager and a single ELIOT Edge Node.

ELIOT Manager acts as the Controller Node managing the ELIOT Edge Node(s) and the containerised applications running on the various ELIOT Edge Nodes.

Note: ELIOT - SD-WAN / WAN Edge / uCPE  Gateway Blueprint Deployment has been tested on Huawei Public Cloud Virtual Machines and is not tested on Bare-Metal Environment. Though, theoretically deployment should work  in bare metal,  provided hardware and software prerequisites are met. Kindly refer the Test Document for further details on the tested deployment.

Pre-Installation Requirements

Hardware Requirements

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 2.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 16.04 or Cent OS 7.5  having internet and network connectivity with ELIOT Edge Node.

ELIOT Edge Node - Ubuntu OS 16.04 / 18.04 or Cent OS 7.X installed with networking capability and internet capability.

Minimum Hardware Requirements

ELIOT Manager
HW AspectRequirements
# of Node(s)A virtualized 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
  • git should be installed in ELIOT Manager and ELIOT Edge Node.

Database Prerequisites

Schema scripts

N/A

Other Installation Requirements

Jump Host Requirements

N/A

Network Requirements

  • 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

N/A

Execution Requirements (Bare Metal Only)

N/A

Installation High-Level Overview

In ELIOT Release 2.0 for deployment 2 Cent OS  7.5 Virtual Machines are used. (uCPE Deployment also support on Ubuntu - Release 1.0 feature)

The steps includes to setup the following two environments : 

  • ELIOT Deployment using Kubernetes. 

Bare Metal Deployment Guide

Install Bare Metal Jump Host

Currently ELIOT Deployment have been done in Virtual Machines only but the installation steps and scripts will hold good for execution in Bare Metal also if the hardware and software prerequisites are met.

Creating a Node Inventory File

N/A

Creating the Settings Files

N/A

Running

N/A

Virtual Deployment Guide

For Virtual Deployment two Ubuntu VM's are required one for ELIOT Manager and ELIOT Edge Node both the node should have internet connectivity , network interface and network connectivity between the two VM's

Standard Deployment Overview

ELIOT Deployment on OS ( Cent OS)

Clone the ELIOT git repo in ELIOT Manager node. It will create eliot folder, for executing the script go to $HOME/eliot/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.
  • eliotedgenodeip – ELIOT Edge Node IP
  • 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.

root@akraino-slave-001:#git clone "https://gerrit.akraino.org/r/eliot"
root@akraino-slave-001:#cd eliot/blueprints/ucpe/scripts
root@akraino-slave-001:~/eliot/blueprints/ucpe/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.

root@akraino-slave-001:~/eliot/blueprints/ucpe/scripts#./setup.sh

ELIOT Manager

S. NoSoftwareTypeVersionLicenseRemarks
1.

Docker

CRI18.06Apache 2.0 license


2.KubernetesOrchestration1.16Apache 2.0 license
3PrometheusMonitoring
Apache 2.0 licenseRunning as Docker Container

ELIOT Edge Node

S. No.SoftwareTypeOSVersionLicenseRemarks
1.DockerCRI18.06Apache 2.0 license
2.KubernetesOrchestration16.0Apache 2.0 licenseWhen Kubernetes is being used for the IoT Gateway Blueprint
3.cAdvisorContainer MetricsLatest Container version in Docker HubApache 2.0 licenseRunning as Docker Container.


Snapshot Deployment Overview

Not Applicable

Special Requirements for Virtual Deployments

Not Applicable

Install Jump Host

Not Applicable

Verifying the Setup - VM's

Not Applicable

Upstream Deployment Guide

Upstream Deployment Key Features

Not Applicable

Special Requirements for Upstream Deployments

Not Applicable

Scenarios and Deploy Settings for Upstream Deployments

Not Applicable

Including Upstream Patches with Deployment

N/A

Running

N/A

Interacting with Containerized Overcloud

N/A

Verifying the Setup

Verifying ELIOT Kubernetes Deployment

The setup.sh script will install the ELIOT Manager and one ELIOT Edge Node. After script execution is completed the kubernetes cluster setup can be checked by executing kubectl get nodes. It will show both the ELIOT Manager and the ELIOT Edge Node as ready.

The setup script also deploys NGINX server on the ELIOT Edge Node and verifies whether its deployed successful or not.

Developer  Guide and Troubleshooting

Uninstall Guide

Not Applicable

Troubleshooting

Not Applicable

Error Message Guide

Not Applicable

Maintenance

Blueprint Package Maintenance

Software maintenance

N/A

Hardware maintenance

N/A

Blueprint Deployment Maintenance

N/A

Frequently Asked Questions

N/A

License

Any software developed by the "Akraino ELIOT SD-WAN / WAN Edge / uCPE  is licensed under the
Apache License, Version 2.0 (the "License");
you may not use the content of this software bundle except in compliance with the License.
You may obtain a copy of the License at <https://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

License information of ELIOT SD-WAN / WAN Edge / uCPE Blueprint  Components

ELIOT Manager

S. NoSoftwareTypeLicenseRemarks
1.

Docker

CRIApache 2.0 license


2.KubernetesOrchestrationApache 2.0 license
3PrometheusMonitoringApache 2.0 license

ELIOT Edge Node

S. No.SoftwareTypeLicenseRemarks
1.DockerCRIApache 2.0 license
2.KubernetesOrchestrationApache 2.0 license
3.cAdvisorContainer MetricsApache 2.0 license


References

N/A

  • No labels

1 Comment

  1. Hi,

    I am trying to install the uCPE BP and found few issues as listed below.

    1. The installation doesn't have the steps for installing ELIOT: Portal UI & API gateway.
    2. Also i thought we would be having a uCPE based containers installation as part of the BP. Was that not included for any specific reasons? What is the solution that you have picked to demonstrate the uCPE use case.