4.7. 为客户端连接配置基于 Operator 的代理部署
4.7.1. 配置接收器 复制链接链接已复制到粘贴板!
要在 OpenShift 部署中启用与代理 Pod 的客户端连接,您可以为部署定义 接收器。接收器定义代理 Pod 如何接受连接。您可以在用于代理部署的主自定义资源(CR)中定义接收器。在创建接收器时,您可以指定要在接收器上启用的消息协议,以及用于这些协议的代理 Pod 上的端口。
以下流程演示了如何在 CR 中为您的代理部署定义新的接收器。
先决条件
- 要配置接收器,代理部署必须基于 AMQ Broker Operator 版本 0.9 或以上。有关安装 Operator 最新版本的详情请参考 第 3.2 节 “使用 CLI 安装 Operator”。
流程
-
在您在初始安装过程中下载并提取的 Operator 存档的
deploy/crs目录中,打开broker_activemqartemis_cr.yaml自定义资源(CR)文件。 在
acceptors元素中,添加命名的 acceptor。添加协议和端口参数。设置值以指定要由接收器使用的消息传递协议,以及要为这些协议公开的每个代理 Pod 上的端口。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置的接收器将端口 5672 公开给 AMQP 客户端。表中显示了您可以为 protocol 参数
指定的完整值集。Expand 协议 值 核心协议
coreAMQP
amqpOpenWire
openwireMQTT
mqttSTOMP
stomp所有支持的协议
all注意- 对于部署中的每个代理 Pod,Operator 还会创建一个使用端口 61616 的默认接收器。代理集群需要这个默认接收器,并启用了内核协议。
- 默认情况下,AMQ 代理管理控制台在代理 Pod 上使用端口 8161。部署中的每个代理 Pod 都有专用服务,提供对控制台的访问。如需更多信息,请参阅 第 5 章 连接到基于 Operator 的代理部署的 AMQ 管理控制台。
若要在同一接收器上使用其他
协议,请修改 protocol 参数。指定以逗号分隔的协议列表。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置的接收器现在向 AMQP 和 OpenWire 客户端公开端口 5672。
要指定接收器允许的并发客户端连接数量,请添加
connectionAllowed参数并设置一个值。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 默认情况下,接收器仅公开给与代理部署相同的 OpenShift 集群中的客户端。若要同时将接收器公开给 OpenShift 之外的客户端,可添加
expose参数,并将值设为true。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您向 OpenShift 外的客户端公开接收器时,Operator 会自动为部署中的每个代理 Pod 创建专用服务和路由。
若要启用来自 OpenShift 外部客户端的安全连接,可添加
sslEnabled参数,并将值设为true。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您在接收器(或连接器)上启用 SSL(即安全套接字层)安全性时,您可以添加相关配置,例如:
- 用于在 OpenShift 集群中存储身份验证凭据的机密名称。当您在接收器上启用 SSL 时,需要一个 secret。有关生成此 secret 的详情请参考 第 4.7.2 节 “保护 broker-client 连接”。
-
用于安全网络通信的传输层安全(TLS)协议。TLS 是更新的、更安全的 SSL 版本。您可以在
enabledProtocols参数中指定 TLS 协议。 -
接收器是否在代理和客户端之间使用双向 TLS(也称为 互相身份验证 )。您可以通过将 require
ClientAuth参数的值设置为true来指定此值。
其它资源
- 要了解如何配置 TLS 来保护代理-客户端连接的安全,包括生成 secret 来存储身份验证凭证,请参阅 第 4.7.2 节 “保护 broker-client 连接”。
- 有关完整的自定义资源配置参考,包括配置接收器和连接器,请参阅 第 8.1 节 “自定义资源配置参考”。