4.2.2. 为基于 Operator 的代理部署创建地址和队列
以下流程演示了如何使用自定义资源(CR)实例将地址和相关队列添加到基于 Operator 的代理部署中。
要在代理部署中创建多个地址和/或队列,您需要创建单独的 CR 文件并单独部署它们,为每个情况指定新地址和/或队列名称。另外,每个 CR 实例的 name 属性必须是唯一的。
先决条件
您必须已安装了 AMQ Broker Operator,包括在您的代理上创建地址和队列所需的专用自定义资源定义(CRD)。有关安装 Operator 的两种替代方法的信息,请参阅:
- 您应该熟悉如何使用 CR 实例创建基本代理部署。如需更多信息,请参阅 第 3.4.1 节 “部署基本代理实例”。
步骤
开始配置自定义资源(CR)实例,为代理部署定义地址和队列。
使用 OpenShift 命令行界面:
以具有部署代理部署的项目中部署 CR 权限的用户身份登录 OpenShift。
oc login -u <user> -p <password> --server=<host:port>-
打开名为
broker_activemqartemisaddress_cr.yaml的示例 CR 文件,该文件包括在您下载并提取的 Operator 安装的deploy/crs目录中。
使用 OpenShift Container Platform Web 控制台:
- 以具有部署代理部署 CR 权限的用户身份登录控制台。
-
根据地址 CRD 启动新的 CR 实例。在左侧窗格中,单击
。 - 单击 ActiveMQArtemisAddresss CRD。
- 点 实例 选项卡。
单击 Create ActiveMQArtemisAddress。
在控制台中,会打开 YAML 编辑器,供您配置 CR 实例。
在 CR 的
spec部分中,添加行来定义地址、队列和路由类型。例如:apiVersion: broker.amq.io/v2alpha2 kind: ActiveMQArtemisAddress metadata: name: myAddressDeployment0 namespace: myProject spec: ... addressName: myAddress0 queueName: myQueue0 routingType: anycast ...上述配置定义了名为
myAddress0的地址,其队列名为myQueue0,以及任何广播路由类型。注意在
metadata部分,您只需要包含namespace属性,只有在您 使用 OpenShift Container Platform Web 控制台创建 CR 时才指定一个值。您指定的值是代理部署的 OpenShift 项目的名称。部署 CR 实例。
使用 OpenShift 命令行界面:
- 保存 CR 文件。
切换到代理部署的项目。
$ oc project <project_name>创建 CR 实例。
$ oc create -f <path/to/address_custom_resource_instance>.yaml
使用 OpenShift Web 控制台:
- 配置完 CR 后,点 Create。
(可选)要删除之前使用 CR 实例添加到部署中的地址和队列,请使用以下命令:
$ oc delete -f <path/to/address_custom_resource_instance>.yaml