Azure Container Apps
Run a Control Plane on Azure using Container Apps and Azure Files, to set up your Private Locations and run load generators in your own Azure network
First of all, you should have followed introduction instructions to configure Gatling Cloud for receiving a new control plane. Please check this section first.
Azure Container Apps is a managed serverless container services. You can use it to deploy your own control plane instances without creating dedicated virtual machines.
Keep in mind that this is only one way to install a control plane in Azure. You can use any other Azure service able to deploy a container.
Azure services overview
Following Azure services are needed for this control plane installation:
- Container Apps: the base product for containerized serverless applications
- Azure Files: file share for configuration file storage
Mounting the configuration file
Control plane locations configuration is based on a file that has to be shared with the application.
See control plane configuration sections of Gatling Cloud documentation for details.
Azure storage account
Azure storage account can contain and manage any data object storage you need for your applications. For details, please refer to Azure documentation.
On your Azure portal, click on “Create a resource” button, and choose “Storage account”
From there, configure a new storage account according to your needs and policies.
Write down the storage account name, you will need it in further steps.
Azure File Share
File Share creation
Once again, refer to the Azure File Share documentation for details.
In your storage account, let’s create a File Share for the control plane configuration file:
- Access to your storage account page
- Click on “File shares” in the side menu
- Click on “File share” creation button in the top menu
- Configure and finalize creation
Write down the file share name, you will need it in further steps.
Upload control plane configuration file
Upload your configuration file in your new File Share in order to make it available for the control plane:
- Access to your File share page
- Click on “Overview” in the side menu
- Click on “Upload” button in the top menu
- Select your control plane configuration file
- Validate for uploading it
You should see your control plane configuration file in the File Share.
Please refer to Azure private locations configuration for more details about the configuration file.
A Container App is what will manage the proper control plane application.
There are several ways to create and configure it, as described in Azure Container Apps documentation. We are going to consider only the Azure portal way of doing it.
Control plane application creation
On your Azure portal, click on “Create a resource” button, and choose “Container Apps”.
Start by referencing basic information about your app, as requested by the wizard.
You can configure freely the subscription, group, etc. at this step, according to your policies.
You will then need to configure the Gatling control plane container as the base image of the application:
- Go to “App settings tab”
- Uncheck “Use quickstart image”
- Configure a container name as you desire
- Choose “Docker Hub or other registries” as image source
- Choose “Public” as image type
docker.ioin registry login server field
gatlingcorp/control-plane:latestin image and tag field
Refer to private location introduction section of this documentation for more information about this docker image.
Finally, review and create your control plane application. This will create two new resources in the configured resource group:
- The Container App itself
- A Container App Environment, associated to the Container App
Option 1: managed identity
Azure managed identities allow you to configure control plane credentials through an Active Directory identity, automatically setup at application start. Refer to Azure managed identities for container apps documentation for details.
- Go to your application page
- Click on “Identity” in the side menu
- Set status to “On”
- Wait a bit for automatic managed identity setup
A managed identity will be automatically assigned to your application instances and used by the control plane application to manage Azure resources.
Option 2: environment variables
You can directly set environment variables needed for Azure private locations during application creation. Please refer to Azure private locations configuration for more details.
You can also set it later from your application page if you need.
Credentials can be set through environment variables in your control plane.
|AZURE_CLIENT_SECRET||Client secret key|
Check Azure documentation pages to find these values:
Mounting configuration file share
Configure in environment
Before effectively mounting the File Share you created earlier, you need to configure access to it in the Container App Environment:
- Navigate to the Container App Environment newly created
- Click on “Azure Files” in the side menu
- Click on “Add” button in the top menu
- “Name” field is free, this is the name you will refer to in the application container configuration
- “Storage account name” and “Storage account key” can be found in the “Access keys” section of your storage account page
- “File share” should be the file share name you created earlier
Double check info entered manually, and validate the creation.
Configure application containers
We can now mount the File Share on application containers:
Navigate to your application page on the portal
Click on “Container” in the side menu (you can check their configuration while you are here)
Click on “Edit and deploy” button in the top menu
In the “Container” tab, click on the existing container automatically created at application creation. Or, there is none, click on the “Add” button"
Go to “Volume mounts” tab
Select your newly created file share in “File share name” drop box
Enter “/app/conf” as “Mount path (folder)”
Check next step before validating changes (additional configuration) since you can do it at the same time.
Additional containers configuration
During the application container configuration step, you can set scale rules for your application.
- In the “Scale” tab, set the min and max instances with the ruler
- Set rules if you need to (not mandatory)
- Don’t forget to validate your changes
Use your new control plane
Once you’ve configured your control plane container, it should automatically start a new revision with desired configuration.
You can check logs in your application “Log stream” menu, or perform more complex requests in “Logs” menu. Be sure to select the currently active revision logs.
Now that your control plane is up and running, after a short time you should see your control plane with up status in Gatling Enterprise Cloud.