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.8.5 deploymentPlan: size: 4 image: placeholder ...
apiVersion: broker.amq.io/v2alpha4 kind: ActiveMQArtemis metadata: name: ex-aao application: ex-aao-app spec: version: 7.8.5 deploymentPlan: size: 4 image: placeholder ...
Copy to Clipboard Copied! 注意在
metadata
部分,您只需要包含namespace
属性,只有在您 使用 OpenShift Container Platform Web 控制台创建 CR 时才指定一个值。您指定的值是代理部署的 OpenShift 项目的名称。- 保存修改后的 CR 文件。
以具有部署之前创建基本代理部署的项目中部署 CR 权限的用户身份登录 OpenShift。
oc login -u <user> -p <password> --server=<host:port>
$ oc login -u <user> -p <password> --server=<host:port>
Copy to Clipboard Copied! 切换到您之前在其中创建基本代理部署的项目。
oc project <project_name>
$ oc project <project_name>
Copy to Clipboard Copied! 在命令行中应用更改:
oc apply -f <path/to/custom_resource_instance>.yaml
$ oc apply -f <path/to/custom_resource_instance>.yaml
Copy to Clipboard Copied! 在 OpenShift Container Platform Web 控制台中,其他代理 Pod 会根据 CR 中指定的数量在项目中启动。默认情况下,在项目中运行的代理是集群。
打开每个 Pod 的 Logs 选项卡。日志显示 OpenShift 在每个代理上建立了集群连接桥接。具体来说,日志输出包括如下行:
targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@6f13fb88
targetConnector=ServerLocatorImpl (identity=(Cluster-connection-bridge::ClusterConnectionBridge@6f13fb88
Copy to Clipboard Copied!