Run MATLAB Parallel Server on Kubernetes - MATLAB & Simulink (original) (raw)

Main Content

Deploy MATLAB® Parallel Server™ and MATLAB Job Scheduler on a Kubernetes® cluster using a Helm® chart.

Requirements

To use this reference architecture, you need:

Deploy from GitHub

To deploy MATLAB Parallel Server in Kubernetes, use the Helm chart and deployment instructions provided in the following GitHub repository:

Architecture and Resources for MATLAB Parallel Server in Kubernetes

Deploying MATLAB Parallel Server and MATLAB Job Scheduler onto a Kubernetes cluster creates several pods and a load balancer in your Kubernetes cluster. This table summarizes the deployed resources.

Resource Name Description
mjs-job-manager The MATLAB Job Scheduler job manager is the central management point for submitting, queuing, and distributing MATLAB jobs across the available workers in the cluster.
mjs-controller A controller process that monitors MATLAB Job Scheduler and creates and destroys MATLAB workers based on the job manager's requirements.
mjs-worker-n MATLAB workers, which are independent processes that perform computations. Each worker has its own pod. The mjs-controller creates and destroys workers.
Load Balancer A load balancer service to expose MATLAB Job Scheduler to MATLAB clients running outside of the Kubernetes cluster.
mjs-pool-proxy-n A proxy process for parallel pools of MATLAB workers. Each MATLAB worker within the cluster is associated with a specific proxy. Themjs-controller creates and destroys pool proxies based on the number of workers, installing each pool proxy in its own pod.
mjs-ingress-proxy A proxy process that routes traffic from the load balancer to the MATLAB Job Scheduler and pool proxies.

By default, connections between MATLAB clients and the pods in Kubernetes are verified using mutual TLS (mTLS). This diagram shows the connections between the client and the pods.

See Also

Topics