8.3.4. 为 AMQ Broker 管理控制台创建路由


默认情况下,集群模板不会公开 AMQ Broker 管理控制台。这是因为 OpenShift 代理在集群中的每个代理执行负载均衡,因此无法控制在给定时间连接哪些代理控制台。

以下示例演示了如何配置集群中的每个代理,以连接到自己的管理控制台实例。为此,您可以为集群中的每个代理 Pod 创建专用的 Service-and-Route 组合。

先决条件

步骤

  1. 使用 StatefulSet 选择器在 Pod 间选择,为集群中的每个 Pod 创建常规 Service。要做到这一点,以 .yaml 格式部署一个 Service 模板,如下所示:

    apiVersion: v1
    kind: Service
    metadata:
      annotations:
        description: 'Service for the management console of broker pod XXXX'
      labels:
        app: application2
        application: application2
        template: amq-broker-78-persistence-clustered
      name: amq2-amq-console-XXXX
      namespace: amq75-p-c-ssl-2
    spec:
      ports:
        - name: console-jolokia
          port: 8161
          protocol: TCP
          targetPort: 8161
      selector:
        deploymentConfig: application2-amq
        statefulset.kubernetes.io/pod-name: application2-amq-XXXX
      type: ClusterIP
    Copy to Clipboard Toggle word wrap

    在前面的模板中,将 XXXX 替换为您要与该服务关联的代理 Pod 的 ordinal 值。例如,要将 Service 与集群中的第一个 Pod 关联,请将 XXXX 设为 0。要将服务与第二个 Pod 关联,请将 XXXX 设置为 1,以此类推。

    为集群中的每个代理 Pod 保存和部署模板实例。

    注意

    在上面显示的示例模板中,选择器使用 Kubernetes 定义的 Pod 名称。

  2. 为每个代理 Pod 创建一个路由,以便 AMQ Broker 管理控制台可以连接到 Pod。

    单击 Routes Create Route

    这会打开 Edit Route 页面。

    1. Services 下拉菜单中,选择之前创建的代理服务,将其与 Route 关联,例如 amq2-amq-console-0
    2. Target Port 设为 8161,为 AMQ Broker 管理控制台启用访问权限。
    3. 要显示 TLS 参数,请选择 Secure route 复选框。

      1. TLS 终止 下拉菜单中选择 Passthrough

        此选择将所有通信转发到 AMQ Broker,无需 OpenShift 路由器解密并重新发送它。

    4. Create

      当您创建与其中一个代理 Pod 关联的路由时,生成的 .yaml 文件包括类似如下的行:

      spec:
        host: amq2-amq-console-0-amq75-p-c-2.apps-ocp311.example.com
        port:
          targetPort: console-jolokia
        tls:
          termination: passthrough
        to:
          kind: Service
          name: amq2-amq-console-0
          weight: 100
        wildcardPolicy: None
      Copy to Clipboard Toggle word wrap
  3. 要访问特定代理实例的管理控制台,请将上方显示 的主机 URL 复制到 Web 浏览器。

其他资源

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat