2017年7月12日星期三

OpenShift_083:安装配置 JBoss AMQ(NodePort)

环境:OCP 3.5

本文以最简单的方式在 OpenShift 平台上部署一个 JBoss AMQ。使用 NodePort 方式直接暴露 Node 上的 TCP 端口,供外部访问。

1. 修改默认的 template amq62-basic
oc edit template amq62-basic -n openshift

kind: ImageStreamTag
name: jboss-amq-62:1.3
改为
kind: ImageStreamTag
name: jboss-amq-62:latest

为方便起见,建议把所有有关 amq62 的 template 都修改一遍。
oc edit template amq62-basic -n openshift
oc edit template amq62-persistent -n openshift
oc edit template amq62-persistent-ssl -n openshift
oc edit template amq62-ssl -n openshift

2. 部署
(1)oc new-project test
(2)Add to Project --> Browse Catalog 输入 amq62,选择 amq62-basic
MQ_USERNAME:admin
MQ_PASSWORD:admin
其余保持默认,点击 Create
等待 Pods 启动成功。
(3)修改 Service:broker-amq-tcp,把 ClusterIP 改为 NodePort
(4)查看 Node Port 端口
oc get svc broker-amq-tcp
输出如下:
NAME             CLUSTER-IP      EXTERNAL-IP   PORT(S)           AGE
broker-amq-tcp   172.30.35.185   <nodes>       61616:32472/TCP   6m
(5)查看 Pod 运行在哪个 Node 上
oc get pod -o wide
NAME                 READY     STATUS    RESTARTS   AGE       IP            NODE
broker-amq-1-kk5cz   1/1       Running   0          7m        10.128.0.37   node2.example.com

3. 测试
  cd ~/Apache/activemq/bin
(1)生产消息
./activemq producer --brokerUrl tcp://node2.example.com:32472 --user admin --password admin --destination queue://testQueue --messageSize 1024 --messageCount 10 --parallelThreads 10
(2)消费消息
./activemq consumer --brokerUrl tcp://node2.example.com:32472 --user admin --password admin --destination queue://testQueue --messageCount 10 --parallelThreads 10

在 Web Console 中查看,点击 Pod,点击 Open Java Console

5. 如果有错,执行以下命令清除,然后重做
 oc delete dc/broker-amq  svc/broker-amq-amqp  svc/broker-amq-mqtt  svc/broker-amq-stomp svc/broker-amq-tcp