Versions Compared

Key

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

...

Note: ELIOT IotGateway Blueprint Deployment has been tested on Cloud VM 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 R5 ELIOT R6 - Test Documentation of Edge Lightweight IotGateway (ELIOT)IoT Gateway Test Document to get details on the tested deployment.

...

2. Setup password-less login from ocd to center and ocd to edge.  

...

  • If you get authentication issue you can change the permission

             # Open file:  vi /etc/ssh/sshd_config

...

                  - sudo systemctl restart ssh.service               # sshpass

For EdgeGallery AIO mode:

Login from ocd to center and ocd to edge in a single node.

  •  sshpass -p <password> ssh-copy-id -p <ssh-port> -o StrictHostKeyChecking=no root@<node_

...

  • ip>

For EdgeGallery Muno mode:

Login from ocd to center in a controller node

  •  sshpass -p <password> ssh-copy-id -p <ssh-port> -o StrictHostKeyChecking=no root@<controller-node_ip>
  •  sshpass -p <password> ssh-copy-id -p <ssh-port> -o StrictHostKeyChecking=no root@<edge-node_ip>

Login from ocd to edge in a edge node

  •  sshpass -p <password> ssh-copy-id -p <ssh-port> -o StrictHostKeyChecking=no root@<controller-node_ip>
  •  sshpass -p <password> ssh-copy-id -p <ssh-port> -o StrictHostKeyChecking=no root@<edge-node_ip>

3.  These command are require in both AIO and MUNO(Controller and Edge Node )  mode.

    cp -p /etc/passwd  /etc/passwd.bkp

    cp -p /etc/group  /etc/group.bkp

    id ubuntu

    groupmod -g 600 ubuntu

    id ubuntu

4. Review and Change Parameters

For EdgeGallery AIO Mode:

        eliot/blueprints/iotgateway/playbooks/hosts-aio

  •  Here user can use the private IP af a node

...

3. cp -p /etc/passwd  /etc/passwd.bkp

    cp -p /etc/group  /etc/group.bkp

    id ubuntu

    groupmod -g 600 ubuntu

    id ubuntu

4. Review and Change Parameters

For EdgeGallery AIO Mode:

        eliot/blueprints/iotgateway/playbooks/hosts-aio

  •  Here user can use the private IP as a master IP

             Image Removed

       eliot/blueprints/iotgateway/playbooks/var.yml

  •  NETWORK_INTERFACE: regex for network interface on the VM. (user can be check ineterrface name by ifconfig and provide inerface name accordingly for example like eth.* )  
  •  MASTER_IP: Here user can use the private IP as a MASTER_IP
  •  PORTAL_IP:  If portal need to be access over internet then uncomment the  PORTAL_IP and use public IP as a PORTAL_IP otherwise portal will be accessible only on private IP default.

             Image RemovedImage Added

       eliot/blueprints/iotgateway/playbooks/password-var.yml

  •   All passwords must include capital letters, lowercase letters, numbers and special characters and whose length must be no less than 8 characters. Also there should be no special characters in it. Otherwise, the deployment will failed because of these simple passwords.
  •  A sample password could be "Harbor@12345"

             Image Removed

For EdgeGallery MUNO Mode:

      eliot/blueprints/iotgateway/playbooks/muno-config/controller/hosts-muno-controller

  •  NETWORK_INTERFACE: regex for network interface on the VM. (user can be check ineterrface name by ifconfig and provide inerface name accordingly for example like eth.* )  
  •  MASTER_IP: Here  Here user can use the private IP as a master IP of  a Controller nodeof a node
  •  PORTAL_IP:  If portal need to be access over internet then uncomment the  PORTAL_IP and use public IP as a PORTAL_IP otherwise portal will be accessible only on private IP default.

            Image Removed Image Added

      eliot eliot/blueprints/iotgateway/playbooks/munopassword-config/controller/var.yml

  •   All passwords must include capital letters, lowercase letters, numbers and special characters and whose length must be no less than 8 characters. Also there should be no special characters in it. Otherwise, the deployment will failed because of these simple passwords.
  •  A sample password could be "Harbor@12345"

             Image Added

For EdgeGallery MUNO Mode:

      eliot/blueprints/iotgateway/playbooks/muno-config/controller/hosts-muno-controller

  •  Here user can use the private IP as a master IP of  a Controller node
  • NETWORK_INTERFACE: regex for network interface on the VM. (user can be check ineterrface name by ifconfig and provide inerface name accordingly for example like eth.* )  
  • MASTER_IP: Here user can use the private IP as a MASTER_IP 
  •  PORTAL_IP:  If portal need to be access over internet then uncomment the  PORTAL_IP and use public IP as a PORTAL_IP otherwise portal will be accessible only on private IP default.
  • CONTROLLER_MASTER_IP:   IP of the Controller master which is used for Edge to connect 

           Image RemovedImage Added

      eliot/blueprints/iotgateway/playbooks/muno-config/edge/hosts-muno-edge

  •  Here user can use the private IP as a master IP of  a Edge node

            Image Removed

    eliot/blueprints/iotgateway/playbooks/muno-config/edge/varcontroller/var.yml

  • NETWORK_INTERFACE: regex for network interface on the VM. (user can be check ineterrface name by ifconfig and provide inerface name accordingly for example like eth.* )  
  • MASTER_IP: Here user can use the private IP as a MASTER_IP0f a controller node
  •  PORTAL_IP:  If portal need to be access over internet then uncomment the  PORTAL_IP and use public IP as a PORTAL_IP otherwise portal will be accessible only on private IP default.
  • CONTROLLER_MASTER_IP:   Uncomment the  PORTAL_IP and use private IP of  a the Controller node  

           Image Added

      eliot/blueprints/iotgateway/playbooks/muno-config/edge/hosts-muno-edge

  •  Here user can use the private IP as a master IP of  a Edge nodeOCD_IP: Here user can use the private IP of a Controller Node

            Image RemovedImage Added

    eliot/blueprints/iotgateway/playbooks/passwordmuno-config/edge/var.yml

  • NETWORK_INTERFACE: regex for network interface on the VM. (user can be check ineterrface name by ifconfig and provide inerface name accordingly for example like eth.* )  
  • MASTER_IP: Here user can use the private IP of a edge node
  • OCD_IP: Here user can use the private IP of a Controller Node which is used for Edge to connect
  •   All passwords must include capital letters, lowercase letters, numbers and special characters and whose length must be no less than 8 characters. Also there should be no special characters in it. Otherwise, the deployment will failed because of these simple passwords.
  • A sample password could be "Harbor@12345"

            Image RemovedFor ELIOT stack:Image Added

       elioteliot/blueprints/iotgateway/playbooks/eliotpassword-inventoryvar.ini

  • Here user can put the public IP in center, edge, ocdhost.

             Image Removed

Installing Mode : ELIOT using Ansible-Playbooks

1. git clone the eliot repo, to download the software to install the ELIOT Environment.

root@akraino-mec-0001:~# git clone "https://gerrit.akraino.org/r/eliot"

yml

  •   All passwords must include capital letters, lowercase letters, numbers and special characters and whose length must be no less than 8 characters. Also there should be no special characters in it. Otherwise, the deployment will failed because of these simple passwords.
  • A sample password could be "Harbor@12345"

            Image Added


For ELIOT stack:

       eliot/blueprints/iotgateway/playbooks/eliot-inventory.ini

  • Here user can put the public IP in center, edge, ocdhost node.

             Image Added

Installing Mode : ELIOT using Ansible-Playbooks

1. git clone the eliot repo, to download the software to install the ELIOT Environment.2. go to the below directory 

root@akraino-mec-0001:~# git clone "https://gerrit.akraino.org/r/eliot"

2. go to the below directory 

root@akraino-mec-0001:~# cd eliot/ cd eliot/blueprints/iotgateway/playbooks

...

  1. Login to the Master Node and check whether K8S cluster is installed. 
  2. Check the below mentioned components and services are running as Pods / Services in Kubernetes cluster
    1. Edge Gallery
    2. grafana
    3. rabbitmq
    4. cadvisor
    5. edgex
    6. Hawkbit
    7. opc-ua
  3. Login to Edge Host and verify the worker node setup

 For muno mode

Components and Services running in ELIOT Master NodeController node

Image Added

Components and Services running ELIOT IotGateway/ ELIOT  Edge Node

Image Added

Deploy Application in ELIOT

  1. Login to MECM Portal https://ip:30093 

             1.1   click on Systems ->App LCM ->New  Registration

                     Name: Applcm(any general name)

                     IP: applcm"public ip"

                     Port: 30204

Image Removed

Image Removed

             1.2.   click on Systems ->App Store ->New Registration 

                     App Store Name: appstore(any general name)

                     IP: Appstore public ip

...

  1. Portal https://ip:30093 

                     Appstore Repo: {HarborIP:443}(192.168.1.1:443)

                     Repo Name: appstore(any general name)

 1.1   click on Systems ->App LCM ->New  Registration

                      Repo Username Name: adminApplcm(harbor user any general name)

                     Repo Password IPHarbor12345(harbor password)applcm"public ip"

                     Vendor Portvendor(any general name)30204


Image RemovedImage Added


       2. Login to Developer Portal https://ip:30092              2.1.   Add sandbox env to deploy application before publish 1.2.   click on Systems ->App Store ->New Registration 

                     Click System ->Host Management ->Add Host

Image Removed

 App Store Name: appstore(any general name)

                     Name: general name IP: Appstore public ip

             System: k8s           Port: 30099

           Lcmip: sandbox ip(for testing purpose can provide edge ip, if no sandbox env)              mecHost: sandbox ip(for testing purpose can provide edge ip, if no sandbox env) Appstore Repo: {HarborIP:443}(192.168.1.1:443)

               Port: 31252       Repo Name: appstore(any general name)

             Protocol: https          Repo Username: admin(harbor user name)

   Architecture: X86             Status: Normal              Port Range: leave as it is Repo Password: Harbor12345(harbor password)

             Address: Bangalore              UploadConfig File: upload sandboxenvkubeconfig file Vendor: vendor(any general name)


Image Added



Image Added


      2.2   Click on Workspace -> Create Project -> Application Integration -> Start 2. Login to Developer Portal https://ip:30092

             - Provide App Name, Version, Provider, Workload Type, Architecture, Industry, Type.  2.1.   Add sandbox env to deploy application before publish

              -   Upload   Icon,   provide Description. And click on confirm. Click System ->Host Management ->Add Host

Image Added2.pngImage Removed

      2.3.  Now click on Deployment Test.       Name: general name

            - System: k8s

     Upload Docker images directly from portal by clicking on   Upload App Image        Lcmip: sandbox ip(for testing purpose can provide edge ip, if no sandbox env)

            Or, directly push Docker images to Harbor repo (takes lesser time, preferred mecHost: sandbox ip(for testing purpose can provide edge ip, if no sandbox env)

            -     Click next, upload deployment yaml file now. Port: 31252

             Protocol: https

             Architecture: X86

-     After config upload, click next   and click   start deployment      Status: Normal

        -      After Deployment is success, click on Release Recourses Port Range: leave as it is

            Note Address: Bangalore

            -     While Deployment test if any error happens, open ATP portal (   UploadConfig File: upload sandboxenvkubeconfig file

3.    Login to MECM Portal https://ip:30094) in another tab of browser, sing in,  come back to developer portal and re run deployment test 30093 

             3.1.   Add k8s node:

                     Click on Edge Nodes -     gitee.com/edgegallery/applications repo provides, A lot of applications with their logo, deployment yaml & user guides

      2.4.  Now click on Application Release

>New Rgistration     

                     VM: k8s

                   Upload file for Application Description   Name: edge1

             Click save config, click Next Step, click Start Test,   scroll down to find & click Start Test button, click Next Step, click publish to publish application to appstore.   3.     Login to MECM Portal https://ip:30093  IP: edge public ip

                 3.1.     Add k8s node: Location: select from drop down

                     Click on Edge Nodes ->New Rgistration      Address: yanta

                     VM: k8s Coordinates: 116.39,39.90

                     Name Architecture: edge1x86

                     IP: edge public ip Capabilities: select none

                     Location MEPM: select from drop downapplcm node from dropdown

Image Added


                     Address: yanta 3.2.   Download /root/.kube/config file from edge node

                     Coordinates: 116.39,39.90                     Architecture: x86  And click on Upload config file to upload.

Image Added


4.     Demonstration of application Development & Deployment

                     Capabilities: select none4.1    Application Development
                     MEPM: select applcm node from dropdownImage Removedlink - https://www.youtube.com/watch?v=AjQNG5d3p84&t=23s

             3.2.   Download /root/.kube/config file from edge node 4.2   Application Deployment
                      And click on Upload config file to upload.Image Removedlink - https://www.youtube.com/watch?v=PbxKpslVnmc&t=31s

Developer  Guide and Troubleshooting

...