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:

       

...

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 af a master IPnode

             

       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 of a MASTER_IPnode
  •  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.

...

  • 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 0f 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:   IP of the Controller master which is used for Edge to connect  Uncomment the  PORTAL_IP and use private IP of  a the Controller node  

           

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

...

  • 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.
  • of a edge node
  • OCD_IP: Here user can use the private IP of a Controller Node which is used for Edge to connectOCD_IP: Here user can use the private IP of a Controller Node

            

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

...

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

             

Installing Mode : ELIOT using Ansible-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 Rule -> New Registration 

                     Name: Apprule(any general name)

                     IP: applcm"public ip"

                     Port: 30206

Image Removed

Image Removed

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

                     App Store Name: appstore(any general name)

                     IP: Appstore public ip

...

  1. MECM 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)

Image Removed

30204

Image Added


Image AddedImage Removed


       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.

2.pngImage Removed

      2.3.  Now click on Deployment Test.

 Click System ->Host Management ->Add Host

Image Added

             Name: general name

      -      Upload Docker images directly from portal by clicking on Upload App Image   System: k8s

                  Or, directly push Docker images to Harbor  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)

             Port: 31252

repo (takes lesser time, preferred)            -      Click next, upload deployment yaml file now. 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      And click on Upload config file to upload.

Image Added


4.     Demonstration of application Development & Deployment

                 Architecture: x864.1    Application Development
                     Capabilities: select none

                     MEPM: select applcm node from dropdown

Image 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

...