On our platform a Runner represents a cloud resource to run containers. Concretly a runner is a public cloud instance, an on-premise VM or a bare metal server. Each runner is identified by a name that you define. You will use that name to indicate on which runner to deploy or move a container.
The way to create a runner is by using a model that defines the provider, the region and the caracteristics of the underlying cloud resource (number of vCPU, RAM size, disk size, GPUs).
We provide some predefined runner models available on AWS, Azure, GCP and ScaleWay.
These models have been categorized in several categories of runners aka Small, Medium, Large to ease the comparison across the different clouds.
In case you don't have the right runner configuration model, we can add custom models for your organisation. To do that, send a mail to 'email@example.com' and precise the configuration you would like in terms of number of vCPUs, RAM size, disk size, GPUs.
Using the Web console
Note that you can access the console on https://scaledynamics.com/console.
To add a runner that can be used in the organization, in the 'Organization' view, click on the 'Runners' tab and click on 'Create Runner' button.
To add a runner that can be only used in a project, in the 'Project' view, click on the 'Runners' tab and click on 'Create Runner' button.
Interface to create a runner
You have to indicate a Runner name uid and select the runner model you want to use. You can filter by provider, region and size of runners in terms of number of vCPU, RAM size, disk size, GPUs. When you have selected a model, click on the order button to create the runner.
The new runner will appear in the 'Runners' tab, indicating its status.
Using the SDK
Follow the SDK installation to get the SDK installed.
With the command below list all available models.
# List all models
npx warp runner model list
To create the runner indicate which model to use and set a name for your runner.
# create a runner <myRunnerName> from a model <modelId>
npx warp runner create <myRunnerName> --model <modelId>
Assigning the runner to an org, and project, and env
You can assign a runner to be used to isolate the usage of a runner
- on an organization, meaning that all containers or all projects and environments car use that runner to run,
- on an project, meaning that all containers of that project and its environments car use that runner to run,
- on an env, meaning that all containers or that environment car use that runner to run.
Do do that, on the console it depends on which runners view at organization, project or environment level you are adding a runner.
On the cli, you have to indicate the
path optional argument.
path is the concatenation of /project/env name. / mean the current organization you are in session. For example to assign
a runner on the project 'demo' of the current organization use
# create a runner <myRunnerName> from a model <modelId> on the demo project of the current org
npx warp runner create <myRunnerName> --model <modelId> --path "/demo"
Suppose you want to create a Runner that will be named
my_aws_fr with 4vCPUs, 16GiB on AWS in France.
Get AWS models in France:
$ npx warp runner model list | grep AWS | grep France
aws-ec2-t2.micro-500-eu-west-3 Global AWS Elastic Compute Cloud 1 vCPU 1 GiB 500 GB Europe, France, Paris
aws-ec2-t2.xlarge-4000-eu-west-3 Global AWS Elastic Compute Cloud 4 vCPUs 16 GiB 4000 GB Europe, France, Paris
aws-ec2-t2.medium-1000-eu-west-3 Global AWS Elastic Compute Cloud 2 vCPUs 4 GiB 1000 GB Europe, France, Paris
Use the model
aws-ec2-t2.xlarge-4000-eu-west-3 to create the runner:
$ npx warp runner create my_aws_fr --model aws-ec2-t2.xlarge-4000-eu-west-3