4.6. 为客户端连接配置基于 Operator 的代理部署


4.6.1. 配置接收器

要启用 OpenShift 部署中的代理 Pod 的客户端连接,您可以为部署定义 接收器。接收器定义代理 Pod 接受连接的方式。您可以在用于代理部署的主自定义资源(CR)中定义接收器。当您创建接受者时,您可以指定消息传递协议等信息,以便在接受者上启用,代理 Pod 上的端口用于这些协议。

以下流程演示了如何在 CR 中为代理部署定义新的接受者。

先决条件

步骤

  1. 在您在初始安装过程中下载并提取的 Operator 归档的 deploy/crs 目录中,打开 broker_activemqartis_cr.yaml 自定义资源(CR)文件。
  2. 在接收器元素 ,添加命名的接受者。添加 协议和端口 参数。设置值来指定接受者以及每个代理 Pod 上要公开的端口的消息传递协议。例如:

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp
        port: 5672
    ...
    Copy to Clipboard Toggle word wrap

    配置的接受者将端口 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 管理控制台
  3. 要在同一接受者上使用其他协议,请修改 protocol 参数。指定以逗号分隔的协议列表。例如:

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp,openwire
        port: 5672
    ...
    Copy to Clipboard Toggle word wrap

    现在,配置的接收器向 AMQP 和 OpenWire 客户端公开端口 5672。

  4. 要指定接受器允许的并发客户端连接数量,请添加 connectionAllowed 参数并设置值。例如:

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp,openwire
        port: 5672
        connectionsAllowed: 5
    ...
    Copy to Clipboard Toggle word wrap
  5. 默认情况下,接受者仅公开给与代理部署相同的 OpenShift 集群中的客户端。若要也向 OpenShift 外部的客户端公开接受者,请添加 expose 参数,并将值设为 true

    另外,要启用到 OpenShift 外部客户端的安全连接,请添加 sslEnabled 参数,并将值设为 true

    spec:
    ...
      acceptors:
      - name: my-acceptor
        protocols: amqp,openwire
        port: 5672
        connectionsAllowed: 5
        expose: true
        sslEnabled: true
        ...
    ...
    Copy to Clipboard Toggle word wrap

    当您在接收器(或连接器)上启用 SSL(即安全套接字层)安全性时,您可以添加相关配置,例如:

    • 用于在 OpenShift 集群中存储身份验证凭据的机密名称。当您在接受器上启用 SSL 时,需要一个 secret。有关生成此 secret 的更多信息,请参阅 第 4.6.2 节 “保护 broker-client 连接”
    • 用于安全网络通信的传输层安全(TLS)协议。TLS 是 SSL 的更新、更安全的版本。您可以在 enabledProtocols 参数中指定 TLS 协议。
    • 接受者是否在代理和客户端之间使用双向 TLS(也称为 mutual 身份验证 )。您可以通过将 require ClientAuth 参数的值设置为 true 来指定此功能。

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat