在 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 和一个负载均衡器。下表总结了已部署的资源。
资源名称 | 描述 |
---|---|
| MATLAB 作业调度器作业管理器是向集群中可用的工作单元提交、排队和分发 MATLAB 作业的中央管理点。 |
| 控制器进程,监控 MATLAB 作业调度器并根据作业管理器的要求创建和销毁 MATLAB 工作单元。 |
| MATLAB 工作单元,是执行计算的独立进程。每个工作单元都有自己的 pod。 |
负载均衡器 | 将 MATLAB 作业调度器暴露给在 Kubernetes 集群之外运行的 MATLAB 客户端的负载均衡器服务。 |
| MATLAB 工作单元并行池的代理进程。集群中的每个 MATLAB 工作单元都与一个特定的代理相关联。 |
| 将流量从负载均衡器路由到 MATLAB 作业调度器和池代理的代理进程。 |
默认情况下,MATLAB 客户端与 Kubernetes 中的 pod 之间的连接使用相互 TLS (mTLS) 进行验证。该图显示了客户端和 pod 之间的连接。