Control plane setup for private locations
Private Locations on your own private account.
A location describes where to start load generators:
- Public locations are available by default, and listed by regions.
- Private locations must be configured, and allow you to deploy load generators on your own infrastructure.
Introduction
To configure private locations, you must configure an agent in your infrastructure, called a Control Plane.
This control plane will be in charge of spawning load generators in different locations, based on the configuration you will provide.
The control plane will periodically poll our API to find out if a new simulation run has been started using locations handled by this control plane.
If so, it will start new instances (based on the locations configurations) and start the simulation run on them. Those instances will send stats through the API as well.
Control plane
Token
Access the private locations section by clicking on the Private locations in the navigation bar (only visible if the feature is activated on your organization).
Click on create control plane, and fill a unique identifier (only lowercase, separated by underscores).
On the next modal, make sure to copy the control plane token, you’ll need it later.
You can see the control plane you just created under the Control planes tab.
It is defined by a unique identifier, a description (provided later on by its configuration) and a status.
The status has three possible values:
- Uninitialized: the control plane has never contacted the application
- Up: the control plane is properly configured, has uploaded the names of its configured private locations, and periodically calls the application to fetch new runs.
- Down: the control plane has been up, but hasn’t called the application for a while.
Configuration
The locations managed by the control plane are configured by a file. The configuration file uses the HOCON format (Human-Optimized Config Object Notation):
control-plane {
# Control plane token
token = "cpt_example_c7oze5djp3u14a5xqjanh..."
# Control plane token with an environment variable
token = ${?CONTROL_PLANE_TOKEN}
# Control plane description (optional)
description = "Control plane optional description"
# Control plane private locations
locations = [
{
# Private location ID, must be prefixed by prl_, only consist of numbers 0-9,
# lowercase letters a-z, and underscores, with a max length of 30 characters
id = "prl_example"
# Private location description (optional)
description = "Private location optional description"
# Private location provider specification
# ...
}
]
}
For examples of private locations configuration, see:
- Configuration of Amazon EC2 locations
- Configuration of Azure Virtual Machines locations
- Configuration of GCP Compute Engine locations
- Configuration of Kubernetes locations
- Configuration of Dedicated Machines locations
Installation
The control plane agent is distributed as a docker image: gatlingcorp/control-plane
. It is available for the linux/amd64
and linux/arm64
platforms (Docker will automatically select the correct image variant).
/app/conf/control-plane.conf
.For examples of installations, see:
- Amazon elastic container service
- Azure container applications service
- GCP Compute Engine service
- Kubernetes deployment
- Docker container deployment
Managing Control Planes on Gatling Enterprise Cloud
Once configured and running, your control plane status should go Up within a few seconds, details are available by clicking on the button. Tokens can be refreshed by clicking on the button.
Private locations can be seen in the Locations tab. You can see their relations to their control plane and simulations.
They can be deleted if they are neither linked to a control plane that is currently Up nor to any simulation.
Simulation configuration
When configuring a simulation, on the locations step, click on private.
Credit consumption
Private locations consume credits like public locations: one credit, per load generator, per minute.