3.4.3. 将自定义资源更改应用到正在运行的代理部署
以下是一些有关将自定义资源(CR)更改应用到正在运行的代理部署的重要事项:
-
您无法动态更新 CR 中的
persistenceEnabled属性。要更改此属性,将集群缩减到零代理。删除现有的 CR。然后,使用您的更改重新创建并重新部署 CR,同时指定部署大小。 -
CR 中的
deploymentPlan.size属性的值会覆盖您使用oc scale命令对代理部署的大小所做的任何更改。例如,假设您使用oc scale将部署的大小从三个代理更改为两个,但 CR 中的deploymentPlan.size的值仍然是3。在这种情况下,OpenShift 最初将部署缩减到两个代理。但是,当扩展操作完成后,Operator 会将部署恢复到三个代理,如 CR 中指定的。 -
如 第 3.2.2 节 “使用 CLI 部署 Operator” 所述,如果您使用持久性存储创建代理部署(即,在 CR 中设置
persistenceEnabled=true)时,您可能需要为 AMQ Broker Operator 置备持久性卷(PV)来为代理 Pod 声明。如果缩减代理部署的大小,Operator 会发布之前为现在关闭的代理 Pod 声明的 PV。但是,如果您通过删除 CR 删除代理部署,AMQ Broker Operator 不会为 部署中的代理 Pod 发布 PVC。另外,这些未发布的 PV 可供任何新部署使用。在这种情况下,您需要手动释放卷。如需更多信息,请参阅 OpenShift 文档中的 发布持久卷。 在 AMQ Broker 7.8 中,如果要配置以下项目,您必须在第一次部署 CR 前将 适当的配置添加到主 CR 实例中。
- 在活跃的扩展事件中,您应用的任何其他更改都由 Operator 排队,且仅在扩展完成时执行。例如,假设您将部署的大小从四个代理缩减到一。然后,在进行缩减时,您也可以更改代理管理员用户名和密码的值。在这种情况下,Operator 会排队用户名和密码,直到部署使用一个活跃代理运行为止。
-
所有 CR 发生变化 - 除了更改部署的大小外,或者更改接收器、连接器或控制台的
expose属性的值外,都会导致现有代理重启。如果您的部署中有多个代理,则一次只重启一个代理。