2.5.3. Devices managment enabler
2.5.3.1. Introduction
The main functionality of this enabler will be to register: (i) a smart IoT device in a deployment, and (ii) a cluster in an ASSIST-IoT deployment, including in the latter case all the necessary messages to notify it to the smart orchestrator. It will also execute all the required actions related to networking for enabling connectivity among isolated/independent clusters, including those that have been added via VPN/SD-WAN technology. Besides, it will allow monitoring any registered node and device in the deployment, including its status (i.e., available and used resources) and current instantiated enablers’ components.
2.5.3.2. Features
This enabler is on charge of managing the two types of devices that are used in the project:
Kubernetes clusters: register, delete and manage the status of the clusters in synchronization with the Smart Orchestrator.
Smart IoT devices: register, delete and manage the status of the physical IoT devices where some applications will be deployed. This feature is under development.
In future versions, K8s clusters that make use of SD-WAN or VPN connections will also be managed by the enabler.
2.5.3.3. Place in architecture
The Devices managment enabler is part of the vertical plane manageability enablers. Moreover, this enabler is a user interface that is part of the Tactile dashboard enabler.
2.5.3.4. User guide
This enabler is included in the Tactile Dashboard of the project, so a logged user with the right permissions can access to it by clicking its menu entry.
Method |
Endpoint |
Description |
Payload (if needed) |
Response format |
|---|---|---|---|---|
GET |
/devices |
Devices view of the dashboard |
Web page |
The enabler shows a table with the registered devices (at the moment only the registered clusters in the Smart Orchestrator) and some information: ID, name, K8s version, server url, status and creation date.
To register a new K8s cluster, click on the Add a new cluster button and a form will appear. There are two options to register a new cluster: (i) click on the file input field and upload a kubeconfig JSON file (a example can be found below) or (ii) fill in the form manually.
Kubeconfig JSON file example:
{
"name": "cluster test",
"description": "cluster test",
"credentials": {
"apiVersion": "v1",
"clusters": [
{
"cluster": {
"certificate-authority-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM...",
"server": "https://192.168.250.232:6443"
},
"name": "cluster test"
}
],
"contexts": [
{
"context": {
"cluster": "cluster test",
"user": "kubernetes-admin1"
},
"name": "cluster test"
}
],
"current-context": "cluster test",
"kind": "Config",
"preferences": {},
"users": [
{
"name": "kubernetes-admin1",
"user": {
"client-certificate-data": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURJVE...",
"client-key-data": "LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQk..."
}
}
]
},
"k8s_version": "1.23"
}
To delete a registered cluster, click on the Delete cluster button of the selected cluster and confirm the action in the dialog.
2.5.3.5. Prerequisites
The Smart Orchestrator must be previously installed.
2.5.3.6. Installation
This enabler is part of the Tactile dashboard enabler, so see the installation section of the Tactile dashboard enabler entry.
2.5.3.7. Configuration options
Will be determined after the release of the enabler.
2.5.3.8. Developer guide
For more information, read the Tactile dashboard enabler entry.
2.5.3.9. Version control and release
Version 0.1. Under development.
2.5.3.10. License
The licenses of internal code are under analysis. The code is developed using open source technologies (Vue.js, Spring framework, …) and PUI9, a framework that is property of Prodevelop. For more information about PUI9 licenses, read the Tactile dashboard enabler entry
2.5.3.11. Notice(dependencies)
This enabler depends on the Smart Orchestrator enabler and it’s part of the Tactile dashboard enabler.