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 uniq name that you define. You will use that name to indicate on which runner to deploy or assign a container service.
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 all the major cloud providers and regional ones.
To ease the comparison and the search, models are categorized in several categories: Small, Medium, Large, 1XLarge, 2XLarge, 3XLarge , 4XLarge. The category GPU represents models with GPU.
If you have specifc needs we can add custom models on request. Basically we can provide any kind of resource that can be allocated dynamically on each cloud provider. When added, custom models are visible on the Custom category. To request a custom model, send a mail to 'email@example.com' and precise the configuration you would like: provider, region, number of vCPUs, RAM size, disk size, or GPUs. We will get back to you.
Note that adding a custom model could require an extra fee according to the requested configuration.
Create a runner
When you create a runner you can define its visibility that indicates where the runner can be used:
- organization: meaning that all container services or all projects and environments car use the runner,
- project, meaning that all container services of that project and its environments car use the runner,
- env, meaning that all container services of that environment can use the runner.
Using the Web console
Note that you can access the console on https://console.scaledynamics.com.
To add a runner with organization visibility, click on the 'Runners' tab of the 'Organization' view and click on '+ Runner' button. To add a runner with project visibility, click on the 'Runners' tab of the 'Project' view, and click on '+ Runner' button. To add a runner with environment visibility, click on the 'Runners' tab of the 'Environment' view, and click on '+ Runner' button.
Then you have to select which runner model you want to create. You can filter by provider, region, categories, size of runners in terms of number of vCPU, RAM size, disk size and GPUs. Click on 'Select' button when choosen.
Interface to select a runner model
The next step is to enter a name for the runner (name must be uniq accros an organization) and an optional description. Click on the 'Create runner' to launch runner creation.
Interface to set runner name and create runner
Back on the 'Runner' tab, the runner name will appear in the 'Runners' tab, indicating its status. When status is 'Running' you can deploy and run containers on it.
Using the SDK
Follow the SDK installation to get the SDK installed.
To get the list of all available models in our catalog use the command below:
# List all models
npx warp runner model list
The command dumps on each line: the model name, the cloud provider, the specification of the resource (cpu, ram, disk) and the region name.
To create the runner, indicate which model name to use and set a runner name.
# create a runner <myRunnerName> from a model <modelName>
npx warp runner create <myRunnerName> --model <modelName>
Example of use
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 | grep '4 vCPU'
aws-ec2-t2.xlarge-4000-eu-west-3 Global AWS Elastic Compute Cloud 4 vCPUs 16 GiB 4000 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
Set the visiblity
By default the runner visibility is the organisation. To configure the visibility of the runner, use the
path optional argument.
path is the concatenation of '/project/env' name. '/' mean the current organization.
For example to create a runner with visibility on the project 'demo' of the current organization:
npx warp runner create <myRunnerName> --model <modelName> --path "/demo"
For example to create a runner with visibility on the environment 'test' of the 'demo' project of the current organization:
npx warp runner create <myRunnerName> --model <modelName> --path "/demo/test"