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>.yaml
Copy 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>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow