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