...
The guide covers the installation details which are related to IOT Gateway Blueprint only.
This guide provides the information for setting up the ELIOT Environment which includes ELIOT Manager and ELIOT Edge Node(s) (IoT Gateway) with details of software and hardware specifications for IoT Gateway Blueprint.
The sections updated for Release 2 are Software Prerequisites, Installation High Level Overview, Virtual Deployment , Verifying the setup and Uninstall Guide, other sections remain same as Release 1.0 documentation.
For Release-2.0 the scope of the guide covers two ELIOT deployments one is using Kubernetes and the other one using Kubeedge (Lightweight Kubernetes).
...
The common features which are application applicable for both the ELIOT blueprints (IoT Gateway and SD-WAN / WAN/ uCPE) include ELIOT Portal , ELIOT Command Line Interface to bootstrap the ELIOT Cluster Installation. These features are developed to ease the use and provide value added features for deployment, usage and monitoring of ELIOT Cluster.
...
ELIOT Manager acts as the Controller Node managing the ELIOT Edge Node(s) and the containerized containerised applications running on the various ELIOT Edge Nodes.
Pre-Installation Requirements
Hardware Requirements
Note: ELIOT - IOT 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
Note |
---|
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 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. |
...
Following packages will be installed in the cluster in the respective nodes:-
ELIOT Manager
S. No | Software | Type | Version | License | Remarks |
1. | Docker | CRI | 18.06 | Apache 2.0 license | |
2. | Kubernetes | Orchestration | 1.16 | Apache 2.0 license | |
3 | Prometheus | Monitoring | Apache 2.0 license | Running as Docker Container |
ELIOT IoT Gateway Node
S. No. | Software | TypeOS | Version | License | Remarks |
1. | Docker | CRI | 18.06 | Apache 2.0 license | |
2. | Kubernetes | Orchestration | 16.0 | Apache 2.0 license | When Kubernetes is being used for the IoT Gateway Blueprint |
3. | EdgeX | IoT Platform | Edinburgh | Apache 2.0 license | EdgeX Platfrom. This will be running on the IoT Gateway Node |
4. | cAdvisor | Container Metrics | Latest Container version in Docker Hub | Apache 2.0 license | Running as Docker Container. |
ELIOT Portal Installation (Optional) :
...
Following packages will be installed in the cluster in the respective nodes:-
ELIOT Manager
S. No | Software | Type | Version | License | Remarks |
1. | Docker | CRI | 18.06 | Apache 2.0 license | |
2. | Kubernetes | Orchestration | 1.16 | Apache 2.0 license | |
3 | Prometheus | Monitoring | Apache 2.0 license | Running as Docker Container |
ELIOT IoT Gateway Node
S. No. | Software | TypeOS | Version | License | Remarks |
1. | Docker | CRI | 18.06 | Apache 2.0 license | |
2. | Kubernetes | Orchestration | 16.0 | Apache 2.0 license | When Kubernetes is being used for the IoT Gateway Blueprint |
3. | cAdvisor | Container Metrics | Latest Container version in Docker Hub | Apache 2.0 license | Running as Docker Container. |
4. | OPC-UA | IoT Protocol Architecture | MIT license |
Deployment Type 3: ELIOT IoT Gateway Deployment using KubeEdge
...
- kubernetes_reset.sh:
Purpose: There were certain issues occurring when the setup.sh file was executed again on the same setup. it threw error saying ‘the file/port in already in use’ when setup.sh file was executed again.
Solution: A list was prepared for errors occurring on re-execution of setup.sh file. To fix them, some commands were executed manually to reset the changes. Once the list was finalized, these were consolidated in a .sh file. The file is in eliot/scripts/ folder.
What it does:
-- Resets kubeadm changes on both Manager and Edge Node machine.
-- Installs iptables, ipvsadm required to restart kubectl service on both Manager and Edge Node machine.
-- Restarts kubelet service on both Manager and Edge Node machine.
-- Releases the port 10250 on both Manager and Edge Node machine.
-- Deletes kubernetes file on Edge Node machine. - kubernetes_cleanup.sh
Purpose: There was no file to rollback the changes done by setup.sh.
Solution: A list of changes done by setup.sh file was prepared and then commands were written to rollback those installations and changes. The file is in eliot/scripts/ folder.
What it does:
-- Uninstalls Docker, Kubernetes, Kubectl, Kubeadm, Kubelet on both Manager and Edge Node machine.
-- Resets kubeadm changes on both Manager and Edge Node machine.
-- Installs iptables, ipvsadm required to restart kubectl service on both Manager and Edge Node machine.
-- Restarts kubelet service on both Manager and Edge Node machine.
-- Releases the port 10250 on both Manager and Edge Node machine.
Troubleshooting
N/A
Error Message Guide
N/A
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" Project 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>
...
Note |
---|
1) Core-dns pod instability issue - CrashloopBack off / Error / Restarts while executing $ kubectl get pods -n kube-system Cause: /etc/resolv.conf is not configured properly to establish the network with coredns pod. Solution: check /etc/resolv.conf → whether it is having the content as below nameserver 8.8.8.8 2) Calico pods ( CNI ) instability issue - restarting the calico pods with unstable network connectivity while executing $ kubectl get pods -n kube-system or getting BGP connection not estabilished in calico-node-<xyz> . Bird is not ready while executing $ kubectl describe pods -n kube-system calico-node-<xyz> Cause: Error occurred due to network interface of the vm / machine which calico cni is using can't be able to connect to the internet. Solution: We have to execute below command in ELIOT Master node $ kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=can-reach=www.google.com ( or ) $ kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=interface=<interface-name> <interface-name> must be the interface which the machine / VM can be able to connect with the internet Kindly refer the below link to check detailed info |
Error Message Guide
N/A
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" Project 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 info for the ELIOT - IOTGateway components:
ELIOT Manager
S. No | Software | Type | Version | License | Remarks |
1. | Docker | CRI | 18.06 | Apache 2.0 license | |
2. | Kubernetes | Orchestration | 1.16 | Apache 2.0 license | |
3 | Prometheus | Monitoring | Apache 2.0 license | Running as Docker Container |
ELIOT IoT Gateway Node
S. No. | Software | TypeOS | Version | License | Remarks |
1. | Docker | CRI | 18.06 | Apache 2.0 license | |
2. | Kubernetes | Orchestration | 16.0 | Apache 2.0 license | When Kubernetes is being used for the IoT Gateway Blueprint |
3. | EdgeX | IoT Platform | Edinburgh | Apache 2.0 license | EdgeX Platfrom. This will be running on the IoT Gateway Node |
4. | cAdvisor | Container Metrics | Latest Container version in Docker Hub | Apache 2.0 license | Running as Docker Container. |
5. | OPC-UA | IoT Protocol Architecture | MIT license |