跳到主要内容

Azure上基于CentOS的Docker

本节将指导您在Microsoft Azure上的CentOS实例中使用Docker设置单个PubSub+软件事件代理容器。

  • 开始之前
  • 第1步:启动主机并安装Docker
  • 第2步:获取PubSub+软件事件代理
  • 第3步:设置Docker创建选项
  • 第4步:创建容器
  • 第5步:管理PubSub+软件事件代理
  • 下一步

开始之前

假设您已具备以下条件:

  • 拥有Azure账户,有权限创建和运行虚拟机。
  • 安装了稳定版本的Docker Engine。

快速启动模板

作为本页所示的手动设置程序的替代方案,Azure中有一个快速启动指南,可用于部署单个PubSub+软件事件代理或三节点高可用性(HA)集群。

系统要求

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

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

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

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

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

第1步:启动主机并安装Docker

使用Azure Dashboard的启动设置向导创建一个Azure虚拟机,您可以用它来运行事件代理。

  1. 在Azure仪表板上,点击虚拟机图标,然后点击**+添加**。

img

按照设置向导操作并接受推荐的默认设置,除非在以下步骤中另有说明。

  1. 计算窗口中,搜索您想要使用的主机操作系统。

对于CentOS 7主机,推荐使用CentOS 7.9

  1. 选择虚拟机大小步骤中,根据系统要求部分列出的最大客户端连接数选择大小。

不建议使用B1S虚拟机。

  1. 至少,建议安全组包括以下入站规则。
类型协议端口范围
自定义TCP规则TCP80800.0.0.0/0
自定义TCP规则TCP555550.0.0.0/0
SSHTCP220.0.0.0/0

这些端口号用于以下服务:

  • 22 - 主机SSH
  • 8080 - SEMP / Broker Manager / SolAdmin
  • 55555 - SMF/非压缩消息数据连接

根据需要可以打开其他端口。有关与事件代理服务相关的端口列表,请参见软件事件代理的默认配置。

  1. 手动在您的CentOS主机上安装和配置Docker。可以在Docker获取Docker for CentOS网页上找到说明。

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

要获取事件代理镜像:

  1. 启动Docker。
>sudo systemctl start docker

您可以使用status命令检查Docker的状态。

>sudo systemctl status docker
  1. 拉取镜像:
>sudo docker pull solace/solace-pubsub-standard

加载完成后,您可以使用images命令检查镜像。

>sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
solace/solace-pubsub-standard latest b8a61124d92f 10 days ago 1.11GB

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

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

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

一旦您获得了包,启动Docker并加载镜像。

例如:

>sudo docker load -i /tmp/solace-pubsub-enterprise-<version>-docker.tar.gz

第3步:设置Docker创建选项

使用docker create命令设置许多选项,用于构建事件代理容器。在此示例中,我们将展示一个适用于测试部署的简单配置,可以帮助您熟悉Solace PubSub+。

在此示例中:

  • 通过username_admin_globalaccesslevelusername_admin_password配置键,在容器创建时定义了adminSolace CLI用户和相关密码。默认情况下,在事件代理容器中未定义任何Solace CLI用户,因此设置这些配置键允许容器在不先进入Solace CLI创建admin用户的情况下通过Solace SolAdmin管理工具进行管理。
  • storage-group(在容器中映射到/var/lib/solace)被绑定挂载到主机的/mnt/solace。在创建容器之前,您必须在主机上创建/mnt/solace目录。storage-group至少需要5.1 GB的存储空间。有关更多信息,请参见系统资源需求和管理容器镜像存储。
  • <repository><tag>的值取决于您之前加载的事件代理Docker镜像。例如,如果您从Docker拉取了latest PubSub+标准镜像,<repository>solace/solace-pubsub-standard<tag>latest。如果您加载了Solace PubSub+企业版版本9.13.0.6,<repository>的值是solace-pubsub-enterprise<tag>9.13.0.6
  1. 创建docker-create脚本。
>sudo tee /root/docker-create <<-EOF
#!/bin/bash
sudo docker create \
--network=host \
--uts=host \
--shm-size=1g \
--ulimit core=-1 \
--ulimit memlock=-1 \
--ulimit nofile=2448:42192 \
--env 'username_admin_globalaccesslevel=admin' \
--env 'username_admin_password=admin' \
--name=solace \
--mount type=bind,source=/mnt/solace,destination=/var/lib/solace,ro=false
<repository>:<tag>
EOF

对于生产部署,有依赖于用例的因素将影响docker create命令中的选项和配置键设置。有关更多信息,请参见系统资源需求和Docker文档。

  1. 使docker-create脚本可执行:
>sudo chmod +x /root/docker-create

第4步:创建容器

在您的主机上创建并运行事件代理容器。

  1. 创建容器:
>/root/docker-create

完成后,将显示一个长标识符,看起来像这样:

1cb8dba3c07b6970b1e22c1067fde76010259e50a8548c3f2f202a6e9ce4e345

这是您刚刚创建的事件代理容器的ID。

  1. 启动事件代理:
>sudo docker start solace

您可以使用docker ps命令检查事件代理运行后的状态。

>sudo docker ps

与事件代理相关的STATUS列将显示容器是否正在运行以及运行了多长时间。

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

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

要访问PubSub+ Broker Manager:

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

要访问Solace CLI:

  1. 输入以下docker exec命令:
>sudo docker exec -it <container_name> /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初始化机器映像