Skip to content

Deploy Workload

Deploying a workload means that you select a Kelvin SmartApp or Docker App from the App Registry and deploy it to the edge to monitor and control nominated assets.

Note

The App Registry is a list of all Applications that have been developed and uploaded to the Kelvin Platform. You can see the full App Registry by going to Applications on the Kelvin UI.

The App Registry is already split up into groups with by type (Kelvin SmartApps™ or Docker App) or in a custom defined group.

When you deploy a workload, you can choose whether to deploy immediately or to stage the workload at the edge and apply it at a later time.

Field Option Description
Standard None This will use the standard Kubernetes deployment process for workload containers and the workload will be automatically started after downloaded to the edge.
Staged Stage Only This will download the workload to the edge but will not start the workload. You will need to send an additional command to start the workload either through the Kelvin API or locally in the terminal of the edge computer
Staged Instant Apply This will use Kelvin's deployment process for workload containers and the workload will be automatically started after downloaded to the edge.

The difference to the Kubernetes deployment process is that Kelvin will download all workloads and stage them first. Only when all workloads have been successfully downloaded will the start command be given to all the workloads.

Default Settings

To simplify the deployment process, you can set default settings that will be automatically chosen when deploying.

Note

The default settings can overwritten during each deploy if special conditions are required.

When completing the deployment of a Workload there is an option to update the default settings with the current deploy selections.

Deploy Standard Workload

On this page we will show you how to deploy a standard workload.

To start, go to Applications, select a Kelvin SmartApp™ with an App icon , click on the Workloads tab then click on the Deploy Workload button;

Select the Kelvin SmartApp™ App version, then click Next to go to Step 2.

In Step 2 select the Assets you want to add to the Kelvin SmartApp™ then click the Next button.

Warning

Assets that are already running this Application will not be shown.

In Step 3 you have a range of options available.

Note

You will only be able to deploy your workload once all options have a green check .

Parameters

Select the Parameter values that each Asset should start using for this Kelvin SmartApp™ when deployed.

Note

When there are many Assets or Asset Parameters to set, you can download a blank csv file with the headers preset with the parameter names.

You only need to add the Assets names and the parameter values you want to overwrite the default values for.

Any blank spaces will be automatically filled with the default Asset Parameter values.

I/O Mapping

Link the Asset's Data Streams to the Kelvin SmartApp™ input/output variables.

Note

Asset's Data Streams are declared as pairs in any Connection that is deployed.

Kelvin SmartApp™ input/output variables are defined by the Developers in the app.yaml file.

Aggregated Mapping

Aggregated Mapping lets select multiple Data Streams for each Application Input or Output.

When you click the Deploy button, the system will intelligently check each selected Asset and its Data Streams to find matching Asset/Data Stream pairs that have been declared and deployed on a Connection, and will then use those pairs for the Application Input or Output.

This allows you to add many Assets at once, even if each Asset uses a different Data Stream name for the same Application Input.

Click on the Aggregated icon.

Note

When you open this option page, this is the default view.

This is the aggregated view.

You can only select Data Streams that already have Connections that are collecting timeseries data.

Other data streams will be unselectable and have a warning icon showing.

Note

If some Assets are missing Data Streams, a warning message will appear.

You can go to the Advanced Mapping to select alternative Data Streams for the problematic Assets.

Advanced Mapping

Advanced Mapping allows you to manually select the Asset / Data Stream pairs individually for each Asset.

Note

If you select different Data Streams for each Asset for an Input, this will also be updated in the Aggregated view.

This is the advanced mapping view.

You can only select Data Streams that already have Connections that are collecting timeseries data.

Other data streams will be unselectable and have a lock showing.

Configuration

Add any configuration information that is required by the Kelvin SmartApp™.

System

Here you will be able to tune all the system variables that are present in the app.yaml file of the Application.

You can choose to edit it using a UI or directly on the YAML or JSON.

Note

Using YAML or JSON is very useful for fast application of settings if you have preset configurations and want to copy/paste them into here.

Env Vars

Here will be shown the list of default Environment Variables and the default values that were set in the app.yaml file of the Application during development.

You can edit these and change both the environment name or value. You can also add addition Environment variables.

Resources

Apply resources available for the Workload.

See Set CPU/Memory Limits for detailed documentation on this section.

Ports

Open ports to your Workload.

Volumes

Mount volumes to your Workload.

Advanced

Choose if you would like to add Privileged mode to the Workload

Optionally choose a health check service for your Workload. These are Kubernetes liveness probes and detailed information can be found on the Kubernetes Website.

Warning

If you use a Health check option, make sure you add code to respond to the liveness probe requests.

Cluster

Choose which Cluster the Assets will be deployed to. There are two choices

Either deploy all Assets to a Cluster / Node

Note

In a multi-node Cluster you can also optionally choose which Node to deploy to.

If you do not then the system will automatically assign the Node.

Or deploy to each Asset's defined default Cluster.

API Access

Define the API access permissions for the application workloads. This allows you to specify exactly which API endpoints the workload is authorized to use, improving security by granting only the permissions required to run the application.

Warning

The API Access selection can NOT be changed once the workload has been deployed.

To alter the API Access settings, you must delete and redeploy the workload.

Deployment

For a standard Workload deployment, choose the Standard option.

Note

Stage Only and Instant Apply are covered in a different documentation section.

Asset-Workload Distribution

Define how many Assets are controlled by each Workload that is deployed.

Success

Allowing each Workload to handle more Assets is more efficient in your edge hardware memory and runtime resource usage.

Be aware that when deploying a workload, checks are made on sufficient memory available and the deploy will fail if there is not enough memory.

However no runtime resource usage is calculated at deployment, so excessive asset allocation can impact SmartApp performance due to CPU and memory constraints.

When you are ready and you have a green check on all options, you will see the Deploy button turn blue.

You can then see the status of the Workload in the Workloads list going from Pending, Deploying to Running.

You can even deploy the app if the Cluster is offline. It will be placed in a queue with a status of Pending and will be automatically deployed when the Cluster comes back online.