Skip to content

Nodes

A Node represents the hardware (memory, disk, CPU Cores) and the OS. A Node is usually an edge computer but can be anything up to server hardware (e.g. a server running in a data center). Kelvin Platform software installed on the Node enables deployment of Applications.

Minimum hardware Requirements

  • x86-64 Processor
  • 2GB Ram
  • 10GB Disk

Info

Depending on how many devices you are connecting and the type of application, the RAM, Disk and CPU requirements may vary.

OS Requirements

Current supported operating systems:

  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS

Network Firewall Rules

Current list of network ports that need to be allowed in the firewall for the Node to work correctly:

  • HTTP(s) - 80/443 TCP Outbound
  • Registry - 5000 TCP Outbound
  • Wireguard - 51820 UDP Inbound+Outbound

Network Reserved Ports

The Kelvin Orchestration system reserves the following ports for internal applications:

  • TCP 6000
  • TCP 6001
  • TCP 8000
  • TCP 8001
  • TCP 9100

These ports should not be used by any other application or service running on the Node.

Preparation

Start by installing Ubuntu 18.04+, setting the machine name to be the desired Node name.

The Node name in Kelvin Platform will be your machine name so be intentional when naming the machine when installing the operating system.

Update your OS and install prerequisites

sudo apt-get update
sudo apt-get upgrade
sudo apt install curl -y

Installation Script

Copy and paste the installation script into the command line of your new machine. This script can be found in your Kelvin Platform Control Center under Nodes → Add Node

Node Info

The provisioning script will install all required dependencies and configure the Node to be part of Kelvin Platform. After completing the software installation process, the Node will appear in the Control Center. Now, user will be available to deploy Applications from the App Registry to this Node using Kelvin SDK commands or through control center. Each Workload (application running on Node) exposes an OPC-UA server for communications between Workloads. These OPC-UA servers can be accessed from other applications on the Node and sometimes by other applications on the same local network.

Info

The Node name cannot start with a number, contain special characters, capitalized letters, or spaces aside from the underscore - character. Node names also must be unique in the system.

Info

It may take several minutes for the node to become available in the Platform

Node List in the Control Center

Nodes can be added, monitored, and modified in the Kelvin Control Center in the Node List page.

Node Info

Node Metrics

After clicking on a Node in the list and then in the metrics tab the following screen will be shown. It displays information about CPU, Memory, and disk usage with graphical gauges.

Node Info

Node Applications

The Applications tab for each Node shows details of all deployed application instances (workloads). The dashboard displays the app version, status, deployment date and platform address. From this dashboard, you may also view logs, refresh the status, stop, or start the Workload, as well as edit the application configuration file.

Node Applications

Application Logs

The Show Logs button launches the log viewer to view the active application log. Within the log viewer, there are additional utility buttons at the top to aid viewing. Additionally, there is an option to download logs to your workstation.

Application Logs

Edit Config

Application configuration files help make it possible to create dynamic and reusable apps. Various configuration options include file locations, application entry-point, along with app inputs and output definitions. Application configuration files (app.yaml) can be edited in Control Center by using the Edit Config menu on deployed application workloads.

Info

All configuration changes made from this location are local to Node workload. They will not affect the application in the App Registry.

Application Config

Node Metadata

It is possible to store unstructured data on a Node, using the Node Metadata tab.

Node Metadata

To create metadata for the Node:

  • Click + Create
  • Add a metadata key (Ex: "my-metadata")
  • Add a value to the metadata key (Ex: "value: my metadata value")
  • Click Save & Deploy

Add Metadata

Info

The metadata can be consulted in the metadata tab of the Node or using the Node Metadata API