4.6. 为客户端连接配置基于 Operator 的代理部署
4.6.1. 配置接收器 复制链接链接已复制到粘贴板!
要启用 OpenShift 部署中的代理 Pod 的客户端连接,您可以为部署定义 接收器。接收器定义代理 Pod 接受连接的方式。您可以在用于代理部署的主自定义资源(CR)中定义接收器。当您创建接受者时,您可以指定消息传递协议等信息,以便在接受者上启用,代理 Pod 上的端口用于这些协议。
以下流程演示了如何在 CR 中为代理部署定义新的接受者。
先决条件
- 要配置接收器,您的代理部署必须基于 0.9 或更高版本的 AMQ Broker Operator。有关安装最新版本的 Operator 的更多信息,请参阅 第 3.2 节 “使用 CLI 安装 Operator”。
- 本节中的信息仅适用于基于 AMQ Broker Operator 的代理部署。如果您使用应用程序模板创建代理部署,则无法定义特定于协议的接收器。有关为客户端连接配置这类部署的更多信息,请参阅 第 6 章"将外部客户端连接到基于模板的代理部署"。
步骤
-
在您在初始安装过程中下载并提取的 Operator 归档的
deploy/crs
目录中,打开broker_activemqartis_cr.yaml
自定义资源(CR)文件。 在接收器元素
中
,添加命名的接受者。添加协议和端口
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 配置的接受者将端口 5672 公开给 AMQP 客户端。下表中显示了您可以为 protocol 参数指定的完整值。
Expand 协议 订阅价值 核心协议
core
AMQP
amqp
OpenWire
OpenWire
MQTT
mqtt
STOMP
stomp
所有支持的协议
all
注意- 对于部署中的每个代理 Pod,Operator 还会创建一个使用端口 61616 的默认接受器。代理集群需要这个默认接受器,并启用了 Core Protocol。
- 默认情况下,AMQ Broker 管理控制台使用代理 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
。另外,要启用到 OpenShift 外部客户端的安全连接,请添加
sslEnabled
参数,并将值设为true
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当您在接收器(或连接器)上启用 SSL(即安全套接字层)安全性时,您可以添加相关配置,例如:
- 用于在 OpenShift 集群中存储身份验证凭据的机密名称。当您在接受器上启用 SSL 时,需要一个 secret。有关生成此 secret 的更多信息,请参阅 第 4.6.2 节 “保护 broker-client 连接”。
-
用于安全网络通信的传输层安全(TLS)协议。TLS 是 SSL 的更新、更安全的版本。您可以在
enabledProtocols
参数中指定 TLS 协议。 -
接受者是否在代理和客户端之间使用双向 TLS(也称为 mutual 身份验证 )。您可以通过将 require
ClientAuth
参数的值设置为true
来指定此功能。
其他资源
- 要了解如何将 TLS 配置为安全代理客户端连接,包括生成 secret 来存储身份验证凭据,请参阅 第 4.6.2 节 “保护 broker-client 连接”。
- 有关完整的自定义资源配置参考,包括配置接收器和连接器,请参考 第 11.1 节 “自定义资源配置参考”。