4.23. 隔离代理属性配置
如果代理 CR 已达到最大大小限制为 1 MB,且 CR 包含 brokerProperties
,您可以将 brokerProperties
条目移到 Java 属性或 JSON-format 文件。单个 Java 属性文件和 JSON 文件都限制为 1 MB,这是 OpenShift 中机密的大小限制。您必须将您创建的每个文件添加到 secret 中,并引用 CR 中的 secret。
流程
创建包含您要应用到代理的
brokerProperties
配置的文件。您可以使用文本或 JSON 格式添加属性。- 文本格式
在文本格式中,您可以在属性文件的单独行中添加每个属性。例如:
addressConfigurations.usa-news.queueConfigs.usa-news.routingType=ANYCAST addressConfigurations.usa-news.queueConfigs.usa-news.purgeOnNoConsumers=true addressConfigurations.usa-news.queueConfigs.usa-news.maxConsumers=30
addressConfigurations.usa-news.queueConfigs.usa-news.routingType=ANYCAST addressConfigurations.usa-news.queueConfigs.usa-news.purgeOnNoConsumers=true addressConfigurations.usa-news.queueConfigs.usa-news.maxConsumers=30
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - JSON 格式
JSON 格式比编写属性的文本格式更紧凑。因此,您可以在单个文件中存储更多属性,而无需超过 1 MB 大小限制。以下是与之前文本格式示例等效的 JSON:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
根据文件中的属性格式,使用以下扩展之一保存文件:
-
.properties
如果属性采用文本格式。例如,address.properties
。 -
.JSON
如果属性采用 JSON 格式。例如,address.json
。
注意如果您在部署中有多个代理,您可以使用 broker- <ordinal> 前缀将地址命名为
broker- <ordinal>
。将 <o rdinal> 替换为 StatefulSet 分配给特定代理 pod 的 ordinal 号。例如,broker-0.addresses.properties
的文件名将地址添加到第一个 pod,broker-1.addresses.properties
添加到第二个 pod 中,以此类推。-
创建包含您创建的文件的 secret。例如:
oc create secret generic address-settings-bp --from-file=addresses.properties
oc create secret generic address-settings-bp --from-file=addresses.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意secret 名称的后缀必须为
-bp
。当 secret 具有 a-bp
后缀时,代理会在代理 pod 上挂载 secret 的目录中找到.properties
和.json
文件。在
extraMounts
属性中添加对 secret 的引用,以便 Operator 挂载每个代理 pod 上的 secret 中的属性文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow Operator 将 secret 中的文件或文件挂载到每个代理 pod 上的
/amq/extra/secrets/ <secret name
> 目录中。在启动时,代理会搜索每个挂载的目录以获取具有
.properties
或.json
扩展名的文件,按字母顺序对文件进行排序,并在另一个文件中应用配置。在一个文件中,代理按列出的顺序应用属性。