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


4.7.1. 配置接收器

要在 OpenShift 部署中启用与代理 Pod 的客户端连接,您可以为部署定义 接收器。接收器定义代理 Pod 如何接受连接。您可以在用于代理部署的主自定义资源(CR)中定义接收器。在创建接收器时,您可以指定要在接收器上启用的消息协议,以及用于这些协议的代理 Pod 上的端口。

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

先决条件

流程

  1. 在您在初始安装过程中下载并提取的 Operator 存档的 deploy/crs 目录中,打开 broker_activemqartemis_cr.yaml 自定义资源(CR)文件。
  2. acceptors 元素中,添加命名的 acceptor。添加 协议 和端口 参数。设置值以指定要由接收器使用的消息传递协议,以及要为这些协议公开的每个代理 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 的默认接收器。代理集群需要这个默认接收器,并启用了内核协议。
    • 默认情况下,AMQ 代理管理控制台在代理 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

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

    当您向 OpenShift 外的客户端公开接收器时,Operator 会自动为部署中的每个代理 Pod 创建专用服务和路由。

  6. 若要启用来自 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.7.2 节 “保护 broker-client 连接”
    • 用于安全网络通信的传输层安全(TLS)协议。TLS 是更新的、更安全的 SSL 版本。您可以在 enabledProtocols 参数中指定 TLS 协议。
    • 接收器是否在代理和客户端之间使用双向 TLS(也称为 互相身份验证 )。您可以通过将 require ClientAuth 参数的值设置为 true 来指定此值。

其它资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat