Skip to content

Latest commit

 

History

History
103 lines (99 loc) · 17.8 KB

File metadata and controls

103 lines (99 loc) · 17.8 KB

Helm Values for MATLAB Parallel Server in Kubernetes

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.