7.4.3. 部署并启动代理应用程序


创建代理应用程序后,您需要进行部署。部署应用程序创建 Pod 以便代理运行。

步骤

  1. 在 OpenShift Container Platform Web 控制台中,单击 Deployments
  2. broker-amq 应用程序。
  3. 单击 Deploy

    注意

    如果应用程序没有部署,您可以点击 Events 选项卡来检查配置。如果错误不正确,请单击 Actions 按钮来编辑部署配置。

  4. 部署代理应用程序后,检查代理 Pod 的当前状态。

    1. DeploymentConfig
    2. broker-amq Pod,然后点 Logs 选项卡验证代理的状态。您应该会看到之前通过应用程序模板创建的队列。

      如果日志显示:

      • 代理正在运行,跳至此步骤的第 9 步。
      • 代理日志没有加载,Pod 状态会显示 ErrImagePullImagePullBackOff,您的部署配置无法直接从红帽容器注册表中提取指定的代理镜像。在这种情况下,请继续这个过程的第 5 步。
  5. 要准备 Pod 用于安装代理容器镜像,请将正在运行的代理数量扩展为 0。

    1. DeploymentConfigs broker-amq
    2. Actions Edit DeploymentConfig
    3. 在部署配置 .yaml 文件中,将 replicas 属性的值设置为 0。
    4. 点击 Save
    5. pod 重启,零代理实例正在运行。
  6. 安装最新的代理容器镜像。

    1. 在 Web 浏览器中,导航到 Red Hat Container Catalog
    2. 在搜索框中输入 AMQ Broker。点 Search
    3. 根据下表中的信息,选择镜像存储库。

      Expand
      平台(存档)容器镜像名称仓库名称

      OpenShift Container Platform(amd64)

      用于 RHEL 8 的 AMQ Broker 或 AMQ Broker

      amq7/amq-broker 或 amq7/amq-broker-rhel8

      IBM Z 上的 OpenShift Container Platform(s390x)

      OpenJDK 11 上的 RHEL 8 AMQ Broker

      amq7/amq-broker-openjdk-11-rhel8

      IBM Power Systems(ppc64le)上的 OpenShift Container Platform

      OpenJDK 11 上的 RHEL 8 AMQ Broker

      amq7/amq-broker-openjdk-11-rhel8

      例如,对于 OpenShift Container Platform 代理容器镜像,点 AMQ Broker。这时将打开 amq7/amq-broker 存储库,最新的镜像版本会自动选择。如果要更改为较早的镜像版本,请单击 Tags 选项卡,然后选择另一个版本标签。

    4. Get this Image 选项卡。
    5. 在通过 注册表令牌进行身份验证 后,请查看 Using OpenShift secrets 部分中的页面说明。以下说明描述了如何将引用添加到代理镜像,以及与 Red Hat Container Registry 中用于身份验证的帐户关联的镜像 pull secret 名称到 Pod 部署配置文件中。

      例如,要在 amq-demo 项目命名空间中引用 broker-amq 部署配置中的代理镜像和 pull secret,请包括类似如下的行:

      apiVersion: apps.openshift.io/v1
      kind: DeploymentConfig
      ..
      metadata:
        name: broker-amq
        namespace: amq-demo
      ..
        spec:
          containers:
              name: broker-amq
              image: 'registry.redhat.io/amq7/amq-broker:7.8'
          ..
          imagePullSecrets:
            - name: {PULL-SECRET-NAME}
    6. 点击 Save
  7. 将最新的代理镜像版本导入到项目命名空间中。例如:

    $ oc import-image amq7/amq-broker:7.8 --from=registry.redhat.io/amq7/amq-broker --confirm
  8. 按照前面所述,再次编辑 broker-amq 部署配置。将 replicas 属性的值重新设置为其原始值。

    代理 Pod 重启,所有正在运行的代理都引用新的代理镜像。

  9. 点击 Terminal 选项卡访问可以启动代理的 shell,并使用 CLI 来测试发送和接收消息。

    sh-4.2$ ./broker/bin/artemis run
    sh-4.2$ ./broker/bin/artemis producer --destination queue://demoQueue
    Producer ActiveMQQueue[demoQueue], thread=0 Started to calculate elapsed time ...
    
    Producer ActiveMQQueue[demoQueue], thread=0 Produced: 1000 messages
    Producer ActiveMQQueue[demoQueue], thread=0 Elapsed time in second : 4 s
    Producer ActiveMQQueue[demoQueue], thread=0 Elapsed time in milli second : 4584 milli seconds
    sh-4.2$ ./broker/bin/artemis consumer --destination queue://demoQueue
    Consumer:: filter = null
    Consumer ActiveMQQueue[demoQueue], thread=0 wait until 1000 messages are consumed
    Received 1000
    Consumer ActiveMQQueue[demoQueue], thread=0 Consumed: 1000 messages
    Consumer ActiveMQQueue[demoQueue], thread=0 Consumer thread finished

    另外,也可使用 OpenShift 客户端使用 Pod 名称访问 shell,如下例中所示。

    // Get the Pod names and internal IP Addresses
    $ oc get pods -o wide
    
    // Access a broker Pod by name
    $ oc rsh <broker-pod-name>
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部