主要内容

设置 Linux 目标计算机

R2026b

使用 Embedded Coder® Support Package for Service-Oriented Applications on Linux® 在一个或多个目标计算机上部署、管理和检测面向服务的应用程序。

支持的目标类型

选择以下目标环境之一。如果您的主机运行 Linux,您也可以将同一台计算机同时用作主机和目标。有关详细信息,请参阅将主机用作目标(Linux 到 Linux Localhost)。

Linux x86_64 计算机Windows Subsystem for Linux (WSL2)Linux ARM64 计算机

任何支持 MATLAB® 安装的 x86_64 架构 Linux 计算机。

有关 MATLAB 系统要求的详细信息,请参阅https://in.mathworks.com/support/requirements/matlab-linux.html。

安装在 Windows 计算机上的 Windows Subsystem for Linux。
  • 需要 WSL 版本 2。

  • 需要 WSL Linux 发行版,最低版本为:Ubuntu 18.04/Debian 11/Oracle Linux_7_9。

  • WSL 目标应位于同一 Windows 主机上。

有关 WSL 安装的详细信息,请参阅https://learn.microsoft.com/en-us/windows/wsl/install。

基于 ARM64 处理器的 Linux 计算机。
  • 需要至少 2GB RAM 和 2GB 非易失性可用磁盘存储。

  • 需要 ARMv8-A 或 ARMv9-A 架构。

  • 需要 Linux 内核版本 3.10 或更高版本。

将主机用作目标(Linux 到 Linux Localhost)

如果您在 Linux 计算机上运行 MATLAB 并且没有单独的目标计算机,您可以将同一台计算机同时用作主机和目标。在此配置中,支持包将应用程序部署到在同一台计算机上运行的 Docker 容器。

要将主机设置为目标,请执行以下操作:

  1. 确保计算机满足目标计算机要求中列出的所有要求。

  2. 确保 SSH 服务器正在运行并接受本地连接。在验证 SSH 连接时使用 127.0.0.1 作为目标 IP。有关验证和启动 SSH 服务器的步骤,请参阅目标计算机要求。

  3. 在 Linux 运行时管理器中或通过使用 addTarget 配置目标时,请指定以下各项:

    • 目标 IP 地址 - 127.0.0.1

    • 用户名和密码 - 在同一台计算机上的您的 Linux 用户凭据。

  4. 设置并非临时文件夹的部署位置,因为系统可能会在重启期间清除临时文件夹。

    setDeploymentLocation(tg,"/home/username/deploy");

注意

在此配置中,Docker 与 MATLAB 在同一台计算机上运行。确保计算机有足够的资源(CPU、内存和磁盘空间)同时运行 MATLAB 和已部署的应用程序。

目标计算机要求

在目标计算机上,完成以下前提条件,以使用支持包部署面向服务的应用程序。

  • 安装 Docker 20.10 或更高版本。

  • 安装 zip 和 unzip。

  • 运行 SSH 服务器。验证 SSH 服务器正在目标计算机上运行:

    sudo systemctl status ssh

    如果 SSH 服务器未运行,请启动它:

    sudo systemctl start ssh

    验证您可以通过 SSH 连接到目标:

    ssh username@target-ip

  • 确保目标计算机用户有权限运行 Docker 命令。有关详细信息,请参阅https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user。

配置网络端口

  • 默认情况下,支持包使用目标计算机上的端口 5555 和 5556 进行主机通信。

  • 要使用不同端口,请编辑 <Support-Package-root>/toolbox/coder/linux/host/ContainerConfig.json 文件。

    使用以下命令获取支持包根目录

    matlabshared.supportpkg.getSupportPackageRoot

  • 支持包在目标上预留端口 22255,因此不要配置该端口。

更改默认 SSH 端口

  • 默认情况下,支持包使用端口 22 进行主机通信。要使用不同端口,请在目标计算机上执行以下步骤。

    1. 使用文本编辑器打开 /etc/ssh/sshd_config。

    2. 保留现有 Port 22 行。添加新行,例如 Port portnumber。

    3. 保存文件并重新启动 SSH 守护进程。

      systemctl restart sshd

  • 成功重启后,SSH 守护进程侦听端口 22 和新端口(例如 22345)。

  • 在主机上,使用 setSSHPort 函数设置新端口。

配置目标计算机

您可以使用 Linux 运行时管理器应用程序或 linux.Targets 对象函数来连接、断开连接、添加、删除和更新目标计算机。

  1. 打开 Linux 运行时管理器。

    linuxRuntimeManager

  2. 在目标树窗格中,选择目标计算机并点击加号按钮添加目标计算机。

  3. 在目标配置部分中,输入目标计算机的详细信息。

  4. 使用以下命令输入新添加的目标计算机的完整部署位置路径。

    setDeploymentLocation(tg,DeploymentLocation);

    避免使用临时文件夹作为部署位置,因为系统可能会在重启期间清除临时文件夹。对于 WSL 目标,请在 WSL Linux 文件系统内指定部署位置。

  5. 选择一个目标计算机,然后使用 Linux 目标 > 连接到目标部分来连接、断开连接或更新它。

  6. 使用 uninstallTarget 函数删除目标计算机的文件及其存储。

  7. 使用 removeTarget 函数或选择目标计算机并点击删除图标,将其从目标树中删除。这将从目标树中删除目标计算机。部署到目标计算机的应用程序及其 Docker 镜像仍保留在存储中。

要部署 RTI Connext 供应商配置的 DDS 应用程序,请将主机上的环境变量 NDDSHOME_LINUX 的值设置为目标计算机上的 RTI Connext 软件文件夹路径。

setenv('NDDSHOME_LINUX', 'RTISoftwarePath')
% For example if the software path is "/home/user/RTIDDS/glnxa64/rti_connext_dds-6.0.1_gcc7.3.0"
setenv('NDDSHOME_LINUX', '/home/user/RTIDDS/glnxa64/rti_connext_dds-6.0.1_gcc7.3.0')

有关将 RTI Connext 与 DDS Blockset 结合使用的详细信息,请参阅适用于 DDS Blockset 的 RTI Connext® DDS 连接框架 - File Exchange。

另请参阅

| | | | |

主题