主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

Kubernetes 上运行 MATLABParallel Server

使用 MATLAB® 图在 Kubernetes® 集群上部署 MATLAB Parallel Server™ 和 Helm® 作业调度器。

要求

要使用此参考架构,您需要:

  • 一个正在运行的 Kubernetes 集群,满足以下条件:

    • 使用 Kubernetes 1.21.1 或更高版本。

    • 满足运行 MATLAB 作业调度器 的系统要求。有关详细信息,请参阅 MATLAB Parallel Server 产品要求

    • 配置为创建允许流量进入集群的外部负载均衡器。

  • 您的计算机上安装了 Docker®。有关安装 Docker 帮助,请参阅 https://docs.docker.com/get-started/get-docker/

  • kubectl 命令行工具已安装在您的计算机上,并已配置为访问您的 Kubernetes 集群。有关安装 kubectl 的帮助,请参阅 Kubernetes 网站上的安装工具

  • 您的计算机上安装了 Helm 包管理器 3.8.0 或更高版本。有关安装 Helm 帮助,请参阅 Helm 网站上的快速入门指南

  • 通过网络访问 MathWorks® 容器注册表 containers.mathworks.com 和 GitHub® 容器注册表 ghcr.io

  • MATLABParallel Server 许可证。有关 MATLABParallel Server 许可的概述,请参阅确定 MATLAB Parallel Server 的许可证大小

    您可以使用以下任一方式:

    • MATLAB 网络许可证管理器为您的集群提供足够的 MATLABParallel Server 许可证。许可证管理器必须可以从 Kubernetes 集群访问。您可以安装或使用在本地或 AWS® 上运行的现有网络许可证管理器。若要在本地安装网络许可证管理器,请参阅在许可证服务器上安装许可证管理器。要在 AWS 上部署网络许可证管理器参考架构,请从 AWS 上的 MATLAB 网络许可证管理器 (GitHub) 中选择一个 MATLAB 版本。

    • 配置为使用在线许可的 MATLABParallel Server 许可证。要查看和修改许可证管理器类型,请参阅选择许可配置选项

    作为 Kubernetes MathWorks 参考架构的一部分提供的默认 MATLAB Parallel Server 安装默认使用网络许可证管理器。该许可证管理器可能与您当前的许可证配置不同。

GitHub 部署

要在 Kubernetes 中部署 MATLAB Parallel Server,请使用以下 Helm 存储库中提供的 GitHub 图和部署说明:

Kubernetes 中的 MATLABParallel Server 的架构和资源

MATLAB Parallel Server 和 MATLAB 作业调度器部署到 Kubernetes 集群上会在 Kubernetes 集群中创建多个 pod 和一个负载均衡器。下表总结了已部署的资源。

资源名称描述

mjs-job-manager

MATLAB 作业调度器作业管理器是向集群中可用的工作单元提交、排队和分发 MATLAB 作业的中央管理点。

mjs-controller

控制器进程,监控 MATLAB 作业调度器并根据作业管理器的要求创建和销毁 MATLAB 工作单元。

mjs-worker-n

MATLAB 工作单元,是执行计算的独立进程。每个工作单元都有自己的 pod。mjs-controller 创建并销毁工作单元。

负载均衡器

将 MATLAB 作业调度器暴露给在 Kubernetes 集群之外运行的 MATLAB 客户端的负载均衡器服务。

mjs-pool-proxy-n

MATLAB 工作单元并行池的代理进程。集群中的每个 MATLAB 工作单元都与一个特定的代理相关联。mjs-controller 根据工作单元数量创建和销毁池代理,并将每个池代理安装在其自己的 pod 中。

mjs-ingress-proxy

将流量从负载均衡器路由到 MATLAB 作业调度器和池代理的代理进程。

默认情况下,MATLAB 客户端与 Kubernetes 中的 pod 之间的连接使用相互 TLS (mTLS) 进行验证。该图显示了客户端和 pod 之间的连接。

另请参阅

主题