# Managing Run profiles for Dynamic Engine environment tasks

Run profiles contain the set of configurations, that is the resource allocation and advanced properties, for executing tasks.

You can see the list of run profiles from the Run Profiles tab of the Processing page. The list includes a Processor type column that identifies whether each run profile uses a Dynamic Engine processor.

![The Run Profiles list showing the Processor type column.](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Resources/images/dynamic-engine-run-profile-list.png)

You can use the Environment filter to display the list of run profiles associated with a specific Dynamic Engine environment.

You must have the Run Profiles - Manage (TMC\_RUN\_PROFILE\_MANAGEMENT) user permission to manage run profiles.

## Creating a run profile

Add a new run profile to configure JVM arguments, Kubernetes pod resources, and autoscaling parameters for Dynamic Engine tasks.

### Before you begin

You must have the Run Profiles - Manage (TMC\_RUN\_PROFILE\_MANAGEMENT) user permission to create run profiles.

### Procedure

1. Open the Processing page.
2. Click the Run profiles tab.
3. Click Create new then Run profile.
4. Select Dynamic Engine as processor type.
5. Select a Dynamic Engine environment from the list.
6. Enter a name for the run profile.
7. Add a description.
8. Configure the Processing arguments with the JVM arguments you want to set for all Jobs running on the engine with this profile.

   The JVM parameter values set here will override the values set in Talend Studio. The resource settings for Kubernetes pods and containers are also set here through the processing arguments.

   This example shows custom settings for CPU and memory allocated for the current task run in Kubernetes. For further explanations about these parameters, see [Resource settings for Talend Management Console task executions](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/execution-resource-and-jvm-in-dynamic-engine-environment "Services in a Dynamic Engine environment deployed on your Kubernetes cluster execute Talend Management Console tasks by creating and managing Kubernetes jobs with the resource settings specified through run profiles.") in this guide or [Resource Management for Pods and Containers](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/) from the Kubernetes documentation.
   ### Example

   ![Creation of a run profile.](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Resources/images/dynamic-engine-run-profile-creation.png) Processing argument groups for Dynamic Engine run profilesProcessing argument groups for Dynamic Engine run profiles ![The Processing arguments section showing the Dynamic Engine pod resources group and the Dynamic Engine pod autoscaling group.](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Resources/images/dynamic-engine-run-profile-jvm-groups.png)
   ```
   -K8S:PodCPURequest=500m
   -K8S:PodCPULimit=1
   -K8S:PodRAMRequest=512M
   -K8S:PodRAMLimit=1G
   ```
   * -K8S:PodCPURequest specifies the initial CPU allocation for the pod.
   * -K8S:PodCPULimit sets an upper limit on the pod's CPU usage, preventing it from monopolizing CPU resources.

     Information noteNote: Kubernetes measures CPU resources in milliCPU (m), also known as millicore. The smallest value you can specify is 1m, which represents 0.001 of a physical or virtual CPU core. If you enter a numeric value without a unit, Kubernetes interprets it as a fraction of a CPU core. For example:
     * 0.5 requests half a CPU core (500m).
     * 1 requests one full CPU core (1000m).
   * -K8S:PodRAMRequest specifies the initial memory allocation for the pod.
   * -K8S:PodRAMLimit sets an upper limit on the pod's memory usage, preventing it from consuming excessive resources.
9. For Data Service and Route tasks, you can override the environment-level autoscaling settings by adding run profile-level autoscaling parameters.

   The Dynamic Engine environment may have autoscaling settings that apply to all Data Service and Route tasks. You can override these environment-level settings by adding autoscaling parameters to the Processing arguments section of a specific run profile. Tasks that use an engine with that run profile will then inherit these overridden settings, allowing fine-grained control over how Dynamic Engine instances scale in response to workload variations for specific tasks.

   For more information about environment-level autoscaling configuration, see [Configuring autoscaling for Data Services and Routes](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/configure-autoscaling-ds-routes "Configure Horizontal Pod Autoscaling (HPA) for the resource allocated to Data Services and Routes in a Dynamic Engine environment, ensuring that Data Services and Routes are capable of handling large volumes of traffic or messages.").
   ### Example

   Information noteNote: Run profile-level autoscaling parameters are available in Dynamic Engine version 1.2.0 and later.

   Run profile-level autoscaling parametersRun profile-level autoscaling parameters
   | Run profile parameter | Description |
   | --- | --- |
   | -K8S:Replicas | Sets the number of pod replicas. When autoscaling is<br>deactivated, this is the fixed replica count. When autoscaling is<br>activated, this is the initial replica count.<br><br>Default:<br>1 |
   | -K8S:AutoscalingEnabled | Activates or deactivates autoscaling for this task.<br><br>Default:<br>false<br><br>Information noteImportant: When<br>autoscaling is activated for a task, you cannot deactivate it<br>when the task is still running, neither through configuration<br>nor with an automatic re-deployment triggered by a task upgrade.<br>To deactivate autoscaling, you must undeploy and then redeploy<br>the task. |
   | -K8S:AutoscalingMinReplicas | Sets the minimum number of pod replicas for<br>autoscaling.<br><br>Default: 1 |
   | -K8S:AutoscalingMaxReplicas | Sets the maximum number of pod replicas for<br>autoscaling.<br><br>Default: 10 |
   | -K8S:AutoscalingCpuAverageUtilization | Sets the target average CPU utilization (percentage) across<br>pods. Use a negative value to deactivate this parameter; zero means<br>using 70%.<br><br>Default: 0 |
   | -K8S:AutoscalingMemoryAverageUtilization | Sets the target average memory utilization (percentage) across<br>pods. Use zero or a negative value to deactivate this<br>parameter.<br><br>Default: 0 |
   | -K8S:AutoscalingScaleUpStabilizationWindowSeconds | Sets the stabilization window (in seconds) for scaling up.<br>During this window, previously calculated target replica counts are<br>considered. Zero deactivates this feature.<br><br>Default:<br>120 |
   | -K8S:AutoscalingScaleDownStabilizationWindowSeconds | Sets the stabilization window (in seconds) for scaling down.<br>During this window, previously calculated target replica counts are<br>considered. Zero deactivates this feature.<br><br>Default:<br>0 |
10. For big data Jobs, ensure you set -K8S:ImageProfile=standard when the environment-level global.profile configuration is minimal. Big data Jobs do not support minimal images and must use standard base images.

    Information noteNote: The -K8S:ImageProfile run profile parameter is available in Dynamic Engine version 1.6.0 and later.

    For more information on setting up distroless images for Dynamic Engine, see [Deploying Dynamic Engine with minimal images](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Cloud/use-minimal-image "Reduce the attack surface and image size of your Dynamic Engine deployment by switching all Dynamic Engine services to distroless container images and Talend Management Console task images to minimal container images with a very light OS.").

    Run profile-level image profile parameterRun profile-level image profile parameter
    | Run profile parameter | Description |
    | --- | --- |
    | -K8S:ImageProfile | Overrides the environment-level global.profile<br>Helm value for the individual task. Use this parameter to run a<br>specific task with a different image profile than the engine<br>default.<br><br>Accepted values: minimal or<br>standard<br><br>Default: inherits engine global.profile<br>setting.<br><br>Information noteImportant: Set<br>-K8S:ImageProfile=standard for each big data<br>task when the engine is deployed with global.profile:<br>minimal. Big data Jobs are incompatible with minimal<br>images and must use standard base images. |
11. Click Save or Save and add another to create another run profile with different JVM settings, pod limits, or autoscaling parameters.

## Updating a run profile

Modify an existing run profile to change JVM arguments, resource limits, autoscaling parameters, or image profile settings.

### Before you begin

You must have the Run Profiles - Manage (TMC\_RUN\_PROFILE\_MANAGEMENT) user permission to update run profiles.

### Procedure

1. Open the Processing page.
2. Click the Run profiles tab.
3. Right-click the name of the run profile you want to edit then click Edit.

   You can also click the name of the run profile to open the run profile details panel, then click Edit to open the drawer.
4. Edit the run profile, such as renaming the run profile, editing the description or editing the Processing arguments.
   ### Example

   Processing argument groups for Dynamic Engine run profilesProcessing argument groups for Dynamic Engine run profiles ![The Processing arguments section showing the Dynamic Engine pod resources group and the Dynamic Engine pod autoscaling group.](https://help.qlik.com/talend/en-US/dynamic-engine-configuration-guide/Resources/images/dynamic-engine-run-profile-jvm-groups.png)
5. If this run profile will be used for big data Jobs and the engine is deployed with global.profile: minimal, ensure you set -K8S:ImageProfile=standard in the Processing arguments.

   Information noteImportant: Big data Jobs (Spark Batch and Spark Streaming) are incompatible with minimal images and must use standard base images. If the run profile does not include -K8S:ImageProfile=standard, big data Jobs using this profile will fail to start.
6. Save your changes.

## Deleting a run profile

Remove a run profile from the system and reassign any tasks that use it to an alternative profile or to run without a profile.

### Before you begin

You must have the Run Profiles - Manage (TMC\_RUN\_PROFILE\_MANAGEMENT) user permission to delete run profiles.

### Procedure

1. Open the Processing page.
2. Click the Run profiles tab.
3. Right-click the name of the run profile you want to delete then click Delete.
4. If this run profile is used by existing tasks, reconfigure these tasks by selecting one of the following options:
   * Do not use a run profile for these tasks.
   * Use an alternative run profile for these tasks and select a run profile from the list.

   If you are deleting the last run profile of the engine, the runs will be rescheduled without a run profile, using the default values.
5. Click Delete to confirm the deletion.