跳到主要内容

无根Podman用于Ubuntu

本节将指导您在非云Ubuntu环境中使用Podman设置单个PubSub+软件事件代理容器。

有关无根容器的工作信息,请参见无根容器。

开始之前

假设您已安装Podman的稳定版Ubuntu。

系统要求

事件代理所需的CPU数量和系统内存分配取决于您需要支持的客户端连接数。默认情况下,事件代理的新安装允许最多100个客户端连接。

为了实现所需的稳定性和性能,托管PubSub+软件事件代理的基础设施必须提供最低集的系统资源。系统资源主要包括与处理器、内存和存储相关的要求。有关所需系统资源类型及其特性的详细信息,请参见系统资源要求。

您可以通过使用系统扩展参数来增加某些系统限制。增加这些系统限制也会增加所需的系统资源。有关更多信息,请参见使用系统扩展参数。

有关配置存储的信息,请参见管理容器镜像存储。

本页上的示例适用于多达1,000个连接,并适当配置用于测试和PoC活动。如果您计划在生产环境中使用事件代理,或将系统扩展到1,000个连接以上,请确保参考上述部分并适当配置您的系统。

第1步:获取PubSub+软件事件代理

无根Podman支持PubSub+软件事件代理10.9。请选择10.1或更高版本。

从Docker仓库拉取事件代理镜像,运行此命令:

podman pull docker.io/solace/solace-pubsub-standard:edge

此示例假设您使用的是Solace PubSub+标准版。如果您想使用其他版本,您需要获得适当的事件代理包:

  1. 转到Solace PubSub+事件代理下载页面。
  2. 滚动到Docker部分,然后选择软件事件代理的版本。
  3. 填写您的详细信息,然后点击获取下载

将下载名为solace-pubsub-<edition>-<version>-docker.tar.gz的压缩存档文件。

获取包后,通过运行以下命令将镜像加载到本地Podman注册表:

$ podman load -i solace-pubsub-<edition>-<version>-docker.tar.gz

第2步:创建容器

您可以使用podman createpodman run命令(两者都从Docker Hub拉取)来构建事件代理容器。以下示例说明了适合测试部署的简单配置。

此示例:

  • 使用Docker Hub上的latest PubSub+标准镜像运行事件代理solace

  • 创建具有全局访问权限的admin用户

  • 将以下事件代理容器端口发布到Ubuntu主机上的相同端口:

    • 端口8080—使SEMP管理流量能够连接到容器。当从Broker Manager连接到容器时使用此端口(有关更多信息,请参见PubSub+ Broker Manager)。

    • 端口55555—使SMF数据能够通过容器。

若要使用其他服务,您必须发布每个相应的端口。例如,要传递AMQP加密流量,您需要发布端口5671。有关每个服务使用的默认端口的更多信息,请参见软件事件代理的默认配置。

在此示例中,storage-group(在容器中映射到/var/lib/solace)被绑定挂载到主机上的/home/<user-name>/storage-group

storage-group至少需要5.1 GB的存储空间。有关详细信息,请参见系统资源要求和管理容器镜像存储。

您必须在用户的主目录中创建一个名为storage-group的目录以进行绑定挂载,然后运行chownpodman unshare以使容器用户能够访问该目录。为此,请运行以下命令:

mkdir /home/<user-name>/storage-group
podman unshare chown 1000:0 -R /home/<user-name>/storage-group

要运行容器,请运行以下命令:

podman run -d -u 1000 -p 8080:8080 -p 55555:55555 --shm-size=1g \
--env username_admin_globalaccesslevel=admin \
--env username_admin_password=admin --name=solace \
--net slirp4netns:port_handler=slirp4netns \
--mount type=bind,source=/home/<user-name>/storage-group,destination=/var/lib/solace,relabel=private,ro=false \
docker.io/solace/solace-pubsub-standard:edge
  • 此示例假设您以UID 1000启动容器。
  • 如果您从压缩tar存档加载了镜像,请将示例中的docker.io/solace/solace-pubsub-standard替换为您的镜像对应的仓库和标签。例如,如果您加载了PubSub+企业版的10.1.0.19版本,请使用solace-pubsub-enterprise:10.1.0.19

创建容器后,创建systemd单元文件以管理容器的启动、停止和重启:

podman generate systemd --restart-policy=always -t 1200 solace > ~/.config/systemd/user/solace.service
systemctl --user enable solace.service
loginctl enable-linger <username>
systemctl --user start solace.service

有关更多信息,请参见Podman文档。

第3步:管理PubSub+软件事件代理

要开始对事件代理发出配置或监控命令,您可以访问Broker Manager或Solace CLI

要访问PubSub+ Broker Manager:

  1. 打开浏览器并输入http://localhost:8080
  2. 使用用户名admin和密码admin登录。

要访问Solace CLI:

  1. 输入以下podman exec命令:
>sudo podman exec -it solace /usr/sw/loads/currentload/bin/cli -A
  1. 输入以下命令以进入配置模式:
solace> enable
solace# config
solace(configure)#

有关目前在事件代理上支持的Solace CLI命令列表,请参阅软件事件代理CLI命令。

下一步

您现在拥有一个具有基本配置的软件事件代理容器,已准备好进行消息任务。

您可以在以下主题中使用额外的配置任务:

  • 软件事件代理的默认配置—查看在事件代理上运行的服务的默认端口号。
  • 系统资源要求—了解软件事件代理的资源要求。
  • 安全概述—应用安全功能以保护您的事件代理、系统和数据。

当您对事件代理感到满意时,您可以使用Solace SDKPerf应用程序进行消息测试。您可以从下载页面的其他软件部分下载SDKPerf。

有关使用您的事件代理的更多信息,请参见以下内容:

  • PubSub+ Broker Manager
  • 为软件事件代理容器配置Solace CLI
  • SDKPerf
  • 配置容器日志记录
  • 从软件事件代理容器收集诊断信息
  • 使用cloud-init初始化机器镜像