3.4.2. 部署集群代理
如果项目中有两个或多个代理 Pod 运行,则 Pod 会自动组成代理集群。集群配置使代理能够互相连接,并根据需要重新分发消息,以实现负载平衡。
以下流程演示了如何部署集群代理。默认情况下,这个部署中的代理会 根据需求 负载平衡使用,这意味着代理只会将消息转发到具有匹配消费者的其他代理。
先决条件
- 已部署了基本的代理实例。请参阅 第 3.4.1 节 “部署基本代理实例”。
流程
- 打开用于基本代理部署的 CR 文件。
对于集群部署,请确保
deploymentPlan.size
的值为2
或更高。例如:apiVersion: broker.amq.io/v2alpha4 kind: ActiveMQArtemis metadata: name: ex-aao application: ex-aao-app spec: version: 7.9.3 deploymentPlan: size: 4 image: placeholder ...
注意在
metadata
部分中,您需要包含namespace
属性,只有在 使用 OpenShift Container Platform Web 控制台创建 CR 实例时才需要指定一个值。您应指定的值是代理部署的 OpenShift 项目的名称。- 保存修改后的 CR 文件。
以具有特权的用户身份登录 OpenShift,以在之前创建基本代理部署的项目中部署 CR。
$ oc login -u <user> -p <password> --server=<host:port>
切换到之前创建基本代理部署的项目。
$ oc project <project_name>
在命令行中应用更改:
$ oc apply -f <path/to/custom_resource_instance>.yaml
在 OpenShift Container Platform Web 控制台中,根据 CR 中指定的数量,在项目中启动其他代理 Pod。默认情况下,项目中运行的代理会被集群。
打开每个 Pod 的 Logs 选项卡。日志显示 OpenShift 在各个代理上建立了集群连接网桥。特别是,日志输出包括以下行:
targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@6f13fb88