8.2.2. 部署应用程序
创建应用程序后,需要部署它。部署应用程序会创建一个 Pod 并启动代理。
步骤
- 在 OpenShift Container Platform web 控制台中点 StatefulSets。
- 点 broker-amq 部署。
- 单击 Deploy 以部署应用。
点代理 Pod,然后点 Logs 选项卡验证代理的状态。您应该会看到通过模板创建的队列。
如果代理日志没有加载,Pod 状态会显示
ErrImagePull或ImagePullBackOff,您的配置无法直接从红帽容器注册表中提取指定的代理镜像。在这种情况下,编辑部署配置以引用与 Red Hat Container Registry 中用于身份验证的帐户关联的正确代理镜像名称和镜像 pull secret 名称。然后,您可以导入代理镜像并启动代理。为此,请完成与部署和启动 代理应用程序 类似的步骤。点 Terminal 选项卡访问可以使用 CLI 发送一些消息的 shell。
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>现在使用 oc 命令缩减代理。
$ oc scale statefulset broker-amq --replicas=0 statefulset "broker-amq" scaled您可以使用控制台检查 Pod 计数是否为 0
现在,将代理备份为
1。$ oc scale statefulset broker-amq --replicas=1 statefulset "broker-amq" scaled使用终端再次消耗消息。例如:
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
其他资源
- 有关管理有状态应用程序的更多信息,请参阅 StatefulSets (外部)。