The following table lists the configurable Helm values that you can set in the YAML file you use to configure MATLAB Parallel Server in Kubernetes. If you do not include a parameter in your YAML file, your configuration uses the default value.
| Parameter | Description | Default Value |
|---|---|---|
additionalMatlabPVCs |
List of PersistentVolumeClaims containing installations of older MATLAB Parallel Server releases, specified as an array of strings. | [] |
additionalSupportedReleases |
List of older MATLAB releases this cluster supports, specified as an array of strings. For example, if the cluster supports release R2024a and R2025b, specify additionalSupportedReleases as ["r2024a","r2024b"]. The additionalMatlabPVCs parameter must be set to an array of nameas of PersistentVolumeClaims containing a MATLAB installation for each supported release. |
[] |
additionalWorkerPVCs |
Additional PersistentVolumeClaims to mount on worker pods, specifed as a map of claim names to the paths at which those claims should be mounted on the pods. For example, to mount a claim my-pvc at path /shared/data on the pods, set this parameter to {"my-pvc":"/shared/data"}. |
{} |
adminUser |
Username of the cluster administrator. | admin |
autoCreateLoadBalancer |
Flag to automatically create a Kubernetes load balancer to expose MATLAB Job Scheduler to MATLAB clients outside the cluster. See the Customize Load Balancer section for instructions to create your own load balancer. | true |
autoScalingPeriod |
Period in seconds with which the controller checks the cluster's size requirements and automatically scales the number of workers up and down if needed. | 15 |
basePort |
Base port of the MATLAB Job Scheduler service. | 27350 |
checkpointPVC |
Name of the PersistentVolumeClaim that is bound to the PersistentVolume used to retain job data. | — |
clusterHost |
Custom host to use in the cluster profile. If unset, the cluster profile uses the external address of the load balancer. | — |
controllerCPULimit |
CPU limit for the MATLAB Job Scheduler controller pod. | — |
controllerCPURequest |
CPU request for the MATLAB Job Scheduler controller pod. | 100m |
controllerImage |
URI of the image to use for the MATLAB Job Scheduler controller, a pod that creates the job manager and automatically scales the number workers up and down. Set this value if you want to use a privately hosted version of this image rather than the version hosted on the GitHub Container registry. | ghcr.io/mathworks-ref-arch/matlab-parallel-server-k8s/mjs-controller-image |
controllerImagePullPolicy |
Pull policy for the MATLAB Job Scheduler controller. | IfNotPresent |
controllerImageTag |
Tag of the image to use for the MATLAB Job Scheduler controller. If you do not set this value, the Helm chart uses the appVersion defined in Chart.yaml as the tag. |
— |
controllerMemoryLimit |
Memory limit for the MATLAB Job Scheduler controller pod. | — |
controllerMemoryRequest |
Memory request for the MATLAB Job Scheduler controller pod. | 128Mi |
exportMetrics |
Flag to export cluster monitoring metrics from the job manager. | false |
haproxyCPULimit |
CPU limit for the HAproxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | — |
haproxyCPURequest |
CPU request for the HAproxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | 100m |
haproxyImage |
URI of the HAproxy Docker image, which is used to proxy incoming traffic. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. Set this value if you want to use a privately hosted version of this image. | haproxy:3.3 |
haproxyImagePullPolicy |
Pull policy for the HAproxy image. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | IfNotPresent |
haproxyMemoryLimit |
Memory limit for the HAproxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | — |
haproxyMemoryRequest |
Memory request for the HAproxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | 256Mi |
idleStop |
Time in seconds after which idle worker pods are removed. | 300 |
internalClientsOnly |
Flag to allow only MATLAB clients running inside the Kubernetes cluster to connect to the MATLAB Job Scheduler. | false |
jobManagerCPULimit |
CPU limit for the job manager pod. | — |
jobManagerCPURequest |
CPU request for the job manager pod. | 1 |
jobManagerGroupID |
Group ID of the user account that MATLAB Job Scheduler uses to run the job manager pod. The user must have write permission for the checkpoint and log PersistentVolumes. To find the group ID, on a Linux machine, run the command id -g in the terminal. |
0 |
jobManagerImage |
URI of the MATLAB Parallel Server image to use for the MATLAB Job Scheduler job manager. | ghcr.io/mathworks-ref-arch/matlab-parallel-server-k8s/mjs-job-manager-image |
jobManagerImagePullPolicy |
Pull policy for the job manager image. | IfNotPresent |
jobManagerImageTag |
Tag of the image to use for the job manager image. If you do not set this value, the Helm chart uses the matlabRelease parameter as the tag. |
— |
jobManagerMemoryLimit |
Memory limit for the job manager pod. | — |
jobManagerMemoryRequest |
Memory request for the job manager pod. The default value is suitable for clusters with up to 1000 workers. For larger clusters, add 1Gi for every additional 1000 workers. |
2Gi |
jobManagerName |
Name of the MATLAB Job Scheduler job manager. | MJS_Kubernetes |
jobManagerNodeSelector |
Node selector for the job manager pod, specified as key-value pairs that match the labels of the Kubernetes nodes you want to run the job manager on. For example, to run the job manager on nodes with label node-type=jobmanager, set this parameter to {"node-type":"jobmanager"}. You must assign the appropriate labels to your nodes before you can use the nodeSelector feature. For more information, see Assigning Pods to Nodes on the Kubernetes website. |
{} |
jobManagerTolerations |
Tolerations for the job manager pod, specified as a list of Kubernetes toleration objects. For example, to tolerate the node-type=job-manager taint, set this parameter to [{"key":"node-type","operator":"Equal","value":"job-manager","effect":"NoSchedule"}]. For more information, see Taints and Tolerations on the Kubernetes website. |
[] |
jobManagerUserID |
User ID of the user account that MATLAB Job Scheduler uses to run the job manager pod. The user must have write permission for the checkpoint and log PersistentVolumes. To find the user ID, on a Linux machine, run id -u in the terminal. |
0 |
jobManagerUsesPVC |
Flag to mount a MATLAB Parallel Server installation from a PersistentVolume onto the job manager pod if the matlabPVC parameter is set. If this flag is set to true, the job manager pod uses the image specified in the matlabDepsImage parameter. |
false |
ldapSecurityPrincipalFormat |
Format of a security principal (user) for your LDAP server. | — |
ldapSynchronizationIntervalSecs |
Frequency at which the cluster synchronizes with the LDAP server. | 1800 |
ldapURL |
URL of an LDAP server to authenticate user credentials. If you are using LDAP over SSL (LDAPS) to encrypt communication between the LDAP server and clients, follow the instructions to configure LDAP over SSL. | — |
loadBalancerAnnotations |
Annotations to use for the load balancer service, specified as key-value pairs. | {} |
loadBalancerSourceRanges |
List of CIDR blocks to which traffic into the load balancer service is restricted if the load balancer is managed by a cloud provider, specified as an array of strings. If not specified, the load balancer allows traffic from all source IP addresses. | [] |
logLevel |
Verbosity level of MATLAB Job Scheduler logging. | 0 |
logPVC |
Name of the PersistentVolumeClaim that is bound to the PersistentVolume used to retain job manager logs. | — |
matlabDepsImage |
URI of the MATLAB dependencies image to use for the MATLAB Job Scheduler worker pods if the MATLAB Parallel Server installation is mounted from a PersistentVolume. The worker pods only use this image if the matlabPVC parameter is set. The worker pods use the matlabImageTag parameter as the image tag. |
mathworks/matlab-deps |
matlabImage |
URI of the image to use for the MATLAB Job Scheduler workers. This image should contain a MATLAB Parallel Server installation, plus any MathWorks toolboxes you want to use in your MATLAB Parallel Server jobs. | ghcr.io/mathworks-ref-arch/matlab-parallel-server-k8s/mjs-worker-image |
matlabImagePullPolicy |
Pull policy for the worker image. | IfNotPresent |
matlabImageTag |
Tag of the image to use for the worker image. If you do not set this value, the Helm chart uses the matlabRelease parameter as the tag. |
— |
matlabPVC |
Name of the PersistentVolumeClaim that is bound to the PersistentVolume with a MATLAB Parallel Server installation. Set this option only if you did not build a Docker image containing a MATLAB Parallel Server installation. | — |
matlabRelease |
Release number of the MATLAB version to use, specified with a lowercase r. For example, to use MATLAB release R2024a, set this parameter to r2024a. |
— |
maxWorkers |
Maximum number of workers that the cluster can automatically resize to. | — |
metricsPort |
Port for exporting cluster monitoring metrics. The job manager uses an HTTP(S) server at the port you specify to export metrics. | 8001 |
minWorkers |
Minimum number of workers to run in the cluster. | 0 |
networkLicenseManager |
Address of a network license manager with format port@host. |
— |
numGPUs |
Number of NVIDIA® GPUs to use on each worker pod. Your Kubernetes cluster must be configured to use NVIDIA GPUs in order to use this setting. For more information on configuring GPUs on a Kubernetes cluster, see Schedule GPUs on the Kubernetes website. | 0 |
openMetricsPortOutsideKubernetes |
Flag to expose the cluster monitoring metrics server outside of the Kubernetes cluster. | false |
parallelServerProxyCPULimit |
CPU limit for the MATLAB Parallel Server proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | — |
parallelServerProxyCPURequest |
CPU request for the MATLAB Parallel Server proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | 100m |
parallelServerProxyImage |
URI of the image to use for the MATLAB Parallel Server proxy, which is used to proxy incoming traffic. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | ghcr.io/mathworks/parallel-server-proxy:v1.0.0 |
parallelServerProxyImagePullPolicy |
Pull policy for the MATLAB Parallel Server proxy image. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | IfNotPresent |
parallelServerProxyMemoryLimit |
Memory limit for each MATLAB Parallel Server proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | — |
parallelServerProxyMemoryRequest |
Memory request for each MATLAB Parallel Server proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | 256Mi |
parallelServerProxyPort |
Port to use for the MATLAB Parallel Server proxy. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | 1080 |
parallelServerProxyUseMutualTLS |
If true, the MATLAB Parallel Server proxy uses mutual TLS to authenticate the MATLAB client. Your configuration uses this parameter only if the cluster supports MATLAB release R2026a or later. | true |
poolProxyBasePort |
Base port for the parallel pool proxy pods. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | 30000 |
poolProxyCPULimit |
CPU limit for each parallel pool proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | — |
poolProxyCPURequest |
CPU request for each parallel pool proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | 0.5 |
poolProxyImage |
URI of the image to use for pods that proxy connections in interactive parallel pools. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. Set this value if you want to use a privately hosted version of this image rather than the version hosted by MathWorks. | containers.mathworks.com/matlab-parallel-server-k8s/parallel-server-proxy-image |
poolProxyImagePullPolicy |
Pull policy for the pool proxy image. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | IfNotPresent |
poolProxyImageTag |
Tag of the image to use for the pool proxy. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. If you do not set this value, the Helm chart uses the matlabRelease parameter as the tag. |
— |
poolProxyMemoryLimit |
Memory limit for each parallel pool proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | — |
poolProxyMemoryRequest |
Memory request for each parallel pool proxy pod. Your configuration uses this parameter only if the cluster supports MATLAB releases older than R2026a. | 500Mi |
requireClientCertificate |
Flag that requires MATLAB clients to have a certificate to connect to the job manager. | true |
requireScriptVerification |
Flag that requires verification to run privileged commands on the cluster. | true |
securityLevel |
MATLAB Job Scheduler security level. | 2 |
stopWorkerGracePeriod |
Grace period in seconds for stopping worker pods. | 60 |
useOnlineLicensing |
Flag to use online licensing. | false |
useSecureCommunication |
Flag to use secure communication between job manager and workers. | true |
useSecureMetrics |
Flag to export cluster monitoring metrics on an encrypted HTTPS server. | true |
workerCPULimit |
CPU limit for each worker pod. | — |
workerCPURequest |
CPU request for each worker pod. | 2 |
workerLogPVC |
Name of the PersistentVolumeClaim that is bound to the PersistentVolume used to retain worker logs. | — |
workerMemoryLimit |
Memory limit for each worker pod. | 8Gi |
workerMemoryRequest |
Memory request for each worker pod. | 8Gi |
workerNodeSelector |
Node selector for the worker pods, specified as key-value pairs that match the labels of the Kubernetes nodes you want to run the workers on. For example, to run the workers on nodes with label node-type=worker, set this parameter to {"node-type":"worker"}. You must assign the appropriate labels to your nodes before you can use the nodeSelector feature. For more information, see Assigning Pods to Nodes on the Kubernetes website. |
{} |
workerPassword |
Password of the username that MATLAB Parallel Server uses to run jobs. | matlab |
workerTolerations |
Tolerations for the worker pods, specified as a list of Kubernetes toleration objects. For example, to tolerate the node-type=worker taint, set this parameter to [{"key":"node-type","operator":"Equal","value":"worker","effect":"NoSchedule"}]. For more information, see Taints and Tolerations on the Kubernetes website. |
[] |
workerUsername |
Username that MATLAB Parallel Server uses to run jobs. | matlab |
workersPerPoolProxy |
Maximum number of workers using each parallel pool proxy. | 32 |
Copyright 2024-2025 The MathWorks, Inc.