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虚拟机,您可以用它来运行事件代理。
- 在Azure仪表板上,点击虚拟机图标,然后点击**+添加**。
按照设 置向导操作并接受推荐的默认设置,除非在以下步骤中另有说明。
- 在计算窗口中,搜索您想要使用的主机操作系统。
对于CentOS 7主机,推荐使用CentOS 7.9。
- 在选择虚拟机大小步骤中,根据系统要求部分列出的最大客户端连接数选择大小。
不建议使用B1S虚拟机。
- 至少,建议安全组包括以下入站规则。
类型 | 协议 | 端口范围 | 源 |
---|---|---|---|
自定义TCP规则 | TCP | 8080 | 0.0.0.0/0 |
自定义TCP规则 | TCP | 55555 | 0.0.0.0/0 |
SSH | TCP | 22 | 0.0.0.0/0 |
这些端口号用于以下服务:
- 22 - 主机SSH
- 8080 - SEMP / Broker Manager / SolAdmin
- 55555 - SMF/非压缩消息数据连接
根据需要可以打开其他端口。有关与事件代理服务相关的端口列表,请参见软件事件代理的默认配置。
- 手动在您的CentOS主机上安装和配置Docker。可以在Docker获取Docker for CentOS网页上找到说明。
第2步:获取PubSub+软件事件代理
要获取事件代理镜像:
- 启动Docker。
>sudo systemctl start docker
您可以使用status
命令检查Docker的状态。
>sudo systemctl status docker
- 拉取镜像:
>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+标准版。如果您想使用其他版本,您需要获得相应的事件代理包:
- 转到Solace PubSub+事件代理下载页面。
- 滚动到Docker部分,然后选择软件事件代理的版本。
- 填写您的详细信息,然后点击获取下载。
您将能够下载名为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_globalaccesslevel
和username_admin_password
配置键,在容器创建时定义了admin
Solace 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
。
- 创建
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文档。
- 使
docker-create
脚本可执行:
>sudo chmod +x /root/docker-create
第4步:创建容器
在您的主机上创建并运行事件代理容器。
- 创建容器:
>/root/docker-create
完成后,将显示一个长标识符,看起来像这样:
1cb8dba3c07b6970b1e22c1067fde76010259e50a8548c3f2f202a6e9ce4e345
这是您刚刚创建的事件代理容器的ID。
- 启动事件代理:
>sudo docker start solace
您可以使用docker ps
命令检查事件代理运行 后的状态。
>sudo docker ps
与事件代理相关的STATUS
列将显示容器是否正在运行以及运行了多长时间。
第5步:管理PubSub+软件事件代理
要开始对事件代理发出配置或监控命令,您可以访问Broker Manager或Solace CLI
要访问PubSub+ Broker Manager:
- 打开浏览器并输入
http://localhost:8080
。 - 使用用户名
admin
和密码admin
登录。
要访问Solace CLI:
- 输入以下
docker exec
命令:
>sudo docker exec -it <container_name> /usr/sw/loads/currentload/bin/cli -A
- 输入以下命令以进入配置模式:
solace> enable
solace# config
solace(configure)#
有关目前在事件代理上支持的Solace CLI命令列表,请参阅软件事件代理CLI命令。
下一步
您现在拥有一个具有基本配置的软件事件代理容器,已准备好进行消息任务。
您可以在以下主题中使用额外的配置任务:
- 软件事件代理的默认配置 - 查看事件代理上运行的服务的默认端口号。
- 系统资源需求 - 了解软件事件代理的资源需求
- 安全概述 - 应用安全特性以保护您的事件代理、系统和数据。
当您熟悉您的事件代理后,您可以使用Solace SDKPerf应用程序测试消息传递。您可以在下载页面的其他软件部分下载SDKPerf。
有关使用您的事件代理的更多信息,请参阅以下内容:
- PubSub+ Broker Manager
- 为软件事件代理容器配置Solace CLI
- SDKPerf
- 配置容器日志记录
- 从软件事件代理容器收集诊断信息
- 使用cloud-init初始化机器映像