Dynamic infrastructure
Dynamic infrastructure is a system that automatically provides and manages the resources you need to run load tests. It creates the required components, such as Controllers and Load Generators. To set up your Dynamic infrastructure. you can use these providers:
Before you start
Before you set up Dynamic infrastructure, make sure that:
-
You have a Kubernetes cluster that is version 1.9 or higher.
-
You have access to the cluster's API server.
-
You have the Kubernetes command-line tool, kubectl (opens in a new tab), ready to run commands against Kubernetes clusters.
-
You have Helm (opens in a new tab) version 3.0 or later to ensure that the cluster includes a service account, token, and DNS settings.
-
You have the cluster permissions you need to:
-
create a namespace (opens in a new tab).
-
create a service account (opens in a new tab).
-
create a role (opens in a new tab).
-
create a role binding (opens in a new tab).
-
Configure user access with Helm
The Helm diagram provides the user credentials required for the NeoLoad Web Dynamic infrastructure to interact with a Kubernetes cluster. To configure it, follow these steps:
-
Add or update the Neotys Helm repository. To do so, run the command
helm repo add neotys https://helm.prod.neotys.com/stable/
helm repo update
-
Download and set up your values-custom.yaml file from GitHub:
wget https://raw.githubusercontent.com/Neotys-Labs/helm-dynamic-infrastructure/master/values-custom.yaml
-
Create your own namespace:
kubectl create namespace my-namespace
-
Install the Neotys Helm chart:
helm install my-release neotys/nlweb-dynamic-infrastructure -n my-namespace -f ./values-custom.yaml
Note If you are using Helm CLI version 3.2 or later, you can add the
--create-namespace
flag to the command and skip step 3.If you don't need custom values, remove
-f ./values-custom.yaml
from the command.
Uninstall the Helm deployment
To uninstall the deployment, use the following command: helm uninstall my-release -n my-namespace
.
Configuration parameters
You can configure parameters to use Docker images for NeoLoad Web's Controllers and Load Generators stored in a private Docker registry, your Kubernetes cluster is configured to pull images from a registry that requires credentials, or you want tighter control over which images are used in your load testing environments.
Use the following parameter:
Parameter |
Description |
Default |
---|---|---|
registryKey.enabled |
Determines whether authentication to a private Docker registry is required for pulling images. |
False |
registryKey.registry |
Specifies the URL of the private Docker registry. |
Empty |
registryKey.username |
The username for authenticating with the private Docker registry. |
Empty |
registryKey.password |
The password for authenticating with the private Docker registry. |
Empty |
If your cluster uses public images or doesn't require authentication, you can leave these options at their default values.