...
The minimum number of nodes required for a complete ELIOT Topology is three2. (Bare-Metal or Virtual Machines)
...
For Virtual Deployment minimum three2 Virtual machines, following are the virtual machines(OCD and Master on same node) and their usage
No | Usage |
---|---|
1 | One Click Deployment Node |
2 | ELIOT Master Node |
3 | IotGateway Node |
...
root@akraino-mec-0002:~# vi eliot-inventory.ini
For Edge Gallery installation:
MUNO-Mode:
Execute the below command:
cd eliot/blueprints/iotgateway/playbooks
4. Modify other configuration files
Edit the configuration file so that the IP addresses of the OCD, ELIOT Master Node, and IotGateway Node are <ocp_ip>, <master_ip>, and <edge_ip> respectively.
An example of the description of the configuration file when the admin password of HARBOR is <password> is shown below.
$ eliot/blueprints/iotgateway/playbooks/ansible-playbook -i muno-config/controller/hosts-muno-controller
[master]
<master_ip>
$ eliot/blueprints/iotgateway/playbooks/muno-config/controller/var.yml
HARBOR_ADMIN_PASSWORD: <password>
# Could be true or false
# true: Deploy k8s NFS Server to keep the persistence of all pods' data
# false: No need to keep the persistence of all pods' data
# ENABLE_PERSISTENCE: true
ENABLE_PERSISTENCE: false
# ip for portals, will be set to private IP of master node default or
# reset it to be the public IP of master node here
# PORTAL_IP: xxx.xxx.xxx.xxx
PORTAL_IP: <master_ip>
$ eliot/blueprints/iotgateway/playbooks/muno-config/edge/hosts-muno-edge
[master]
<edge_ip>
$ eliot/blueprints/iotgateway/playbooks/muno-config/edge/var.yml
HARBOR_ADMIN_PASSWORD: <password>
# Could be true or false
# true: Deploy k8s NFS Server to keep the persistence of all pods' data
# false: No need to keep the persistence of all pods' data
ENABLE_PERSISTENCE: false
# ip for portals, will be set to private IP of master node default or
# reset it to be the public IP of master node here
# PORTAL_IP: xxx.xxx.xxx.xxx
# NIC name of master node
# If master node is with single NIC, not need to set it here and will get
# the default NIC name during the run time
# If master node is with multiple NICs, should set it here to be
# 2 different NICs
# EG_NODE_EDGE_MP1: eth0
# EG_NODE_EDGE_MM5: eth0
OCD_IP: <ocp_ip>
5.Send the git clone file from OCD to ELIOT Master Node and IotGateway Node.
$ scp -r ./eliot <node_ip>:~
For Edge Gallery installation:
Select one of Multi Node Inventory Mode (MUNO-Mode) or All in one mode (AIO mode) and install it.
MUNO-Mode:
Execute the below command:
cd eliot/blueprints/iotgateway/playbooks
ansible-playbook -i muno-config/controller/hosts-muno-controller eliot- eliot-eg-muno-controller.yml --extra-vars "operation=install" -e "ansible_user=root"
...
Components and Services running ELIOT IotGateway/ Edge Node
Deploy Application in ELIOT
...
Deploy Application in ELIOT
- 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
1.2. Click
...
on Systems ->App Rule -> New Registration
...
...
Name: Apprule(any general name)
...
...
...
IP: applcm"public ip"
...
Port: 30206
...
1.3. click on Systems ->App Store ->New Registration
...
App Store Name: appstore(any general name)
...
...
IP: Appstore public ip
...
...
Port:
...
30099
...
...
Appstore Repo: {HarborIP:443}(192.168.1.1:443)
...
...
Repo Name: appstore(any general name)
...
...
...
...
...
Repo Username: admin(harbor user name)
...
...
...
Repo Password: Harbor12345(harbor password)
...
Vendor: vendor(any general name)
2. Login to Developer Portal https://ip:30092
...
...
2.1. Add sandbox env to deploy application before publish
...
Click System ->Host Management ->Add Host
...
...
Name: general name
System: k8s
...
...
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)
...
1.4. Now click on Application Release
Port: 31252
...
...
Protocol: https
...
...
...
Architecture: X86
Status: Normal
Port Range: leave as it is
...
2. Login to MECM Portal https://ip:30093
...
Address: Bangalore
...
...
UploadConfig File: upload sandboxenvkubeconfig file
...
2.2 Click on Workspace -> Create Project -> Application Integration -> Start
...
- Provide App Name, Version, Provider, Workload Type, Architecture, Industry, Type.
...
...
...
-
...
...
Upload Icon, provide Description.
...
And click on confirm.
2.3. Now click on Deployment Test.
...
...
- Upload Docker images directly from portal by clicking on Upload App Image
...
...
Or, directly push Docker images to Harbor repo (takes lesser time, preferred)
...
- Click next, upload deployment yaml file now.
...
- After config upload, click next and click start deployment
...
- After Deployment is success, click on Release Recourses
...
Note:
...
- While Deployment test if any error happens, open ATP portal (https://ip:30094) in another tab of browser, sing in, come back to developer portal and re run deployment test
...
...
...
gitee.com/edgegallery/applications repo provides, A lot of applications with their logo, deployment yaml & user guides
2.4. Now click on Application Release
...
...
Upload file for Application Description
...
...
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
...
3.1.
...
Add k8s node:
...
...
Click on Edge Nodes ->New Rgistration
...
...
VM:
...
k8s
...
Name:
...
edge1
...
...
IP: edge public ip
...
Location: select from drop down
...
...
Address: yanta
...
...
Coordinates: 116.39,39.90
...
...
...
Architecture: x86
...
Capabilities: select none
...
...
MEPM: select applcm node from dropdown
...
...
3.2. Download /root/.kube/config file from edge node
...
Application will be deployed on edge.And click on Upload config file to upload.
Developer Guide and Troubleshooting
...