第 11 章 参考
11.1. 自定义资源配置参考
自定义资源定义(CRD)是 Operator 部署的自定义 OpenShift 对象的配置项模式。通过部署对应的自定义资源(CR)实例,您可以为 CRD 中显示的配置项指定值。
以下子部分详细介绍了可基于主代理和寻址 CRD 在自定义资源实例中设置的配置项目。
11.1.1. 代理自定义资源配置参考
基于主代理 CRD 的 CR 实例允许您配置 OpenShift 项目中部署的代理。下表描述了您可以在 CR 实例中配置的项目。
任何您部署的对应自定义资源(CR)中都需要使用星号(*)标记的配置项目。如果没有为非必要项目显式指定值,则配置将使用默认值。
条目 | 子条目 | 描述和使用 |
---|---|---|
| 连接到代理和管理控制台所需的管理员用户名。
如果没有指定值,则会自动生成并存储在 secret 中。默认 secret 名称的格式是 类型: string 示例 :my-user 默认值 :自动生成的随机值 | |
| 连接到代理和管理控制台所需的管理员密码。
如果没有指定值,则会自动生成并存储在 secret 中。默认 secret 名称的格式是 类型: string 示例 :my-password 默认值 :自动生成的随机值 | |
| 代理部署配置 | |
| 用于部署中每个代理的代理容器镜像的完整路径。
您不需要为 CR 要了解 Operator 如何选择要使用的代理容器镜像,请参阅 第 2.4 节 “Operator 如何选择容器镜像”。 类型: string 示例 :registry.redhat.io/amq7/amq-broker@sha256:4d60775cd384067147ab105f41855b5a7af855c4d9cbef1d4dea566cbe214558 默认值: 占位符 | |
| 要在部署中创建的代理 Pod 数量。
如果您指定了 2 或更高的值,您的代理部署默认为集群。默认情况下,集群用户名和密码会自动生成并存储在与 键入: int 示例 :1 默认值 :2 | |
| 指定是否需要登录凭证才能连接到代理。 键入 :布尔值 示例 :false 默认值为: true | |
|
指定是否为部署中的每个代理 Pod 使用 journal 存储。如果设置为 键入 :布尔值 示例 :false 默认值为: true | |
| 用于配置代理的 init 容器镜像。
您不需要在 CR 中明确指定 要了解 Operator 如何选择要使用的内置初始容器镜像,请参阅 第 2.4 节 “Operator 如何选择容器镜像”。 要了解如何 指定自定义 初始容器镜像,请参阅 第 4.5 节 “指定自定义初始容器镜像”。 类型: string 示例 :registry.redhat.io/amq7/amq-broker-init-rhel7@sha256:f7482d07ecaa78d34c37981447536e6f73d4013ec0c64ff787161a75e4ca3567 默认值 :未指定 | |
| 指定是否使用异步 I/O(AIO)或非阻塞 I/O(NIO)。 类型: string 示例 :aio 默认值: nio | |
| 当代理 Pod 因为失败或意图部署而关闭时,指定是否将消息迁移到代理集群中运行的另一代理 Pod。 键入 :布尔值 示例 :false 默认值为: true | |
| 部署中 pod 中运行的每个代理容器可以消耗的最大主机节点 CPU 数(以 millicore 为单位)。 类型: string 示例 :"500m" 默认值 :使用与 OpenShift Container Platform 版本相同的默认值。查阅集群管理员。 | |
| 主机节点内存的最大数量(以字节为单位),用于部署中的各个代理容器都可以消耗。支持字节表示法(例如:K、M、G)或二进制等同数(Ki, Mi, Gi)。 类型: string 示例 :"1024M" 默认值 :使用与 OpenShift Container Platform 版本相同的默认值。查阅集群管理员。 | |
| 在部署显式请求中运行的每个代理容器,主机节点 CPU 的数量(以 millicore 为单位)。 类型: string 示例 :"250m" 默认值 :使用与 OpenShift Container Platform 版本相同的默认值。查阅集群管理员。 | |
| 主机节点内存量(以字节为单位),每个代理容器在部署中明确请求中运行的 Pod。支持字节表示法(例如:K、M、G)或二进制等同数(Ki, Mi, Gi)。 类型: string 示例 :"512M" 默认值 :使用与 OpenShift Container Platform 版本相同的默认值。查阅集群管理员。 | |
|
部署中的每个代理所需的持久性卷声明(PVC)大小(以字节为单位)。只有在将 类型: string 示例 :4Gi 默认值 :2Gi | |
|
指定是否为部署中的代理启用 Jolokia JVM Agent。如果此属性的值设置为 键入 :布尔值 示例: true 默认值为: false | |
|
指定是否为部署中的代理启用了基于角色的访问控制(RBAC)。要使用 Fuse 控制台,您必须 将值设为 键入 :布尔值 示例 :false 默认值为: true | |
| 配置代理管理控制台. | |
| 指定是否公开部署中每个代理的管理控制台端口。 键入 :布尔值 示例: true 默认值为: false | |
| 指定是否在管理控制台端口上使用 SSL。 键入 :布尔值 示例: true 默认值为: false | |
|
存储 broker 键存储、信任存储和对应的密码的 secret(所有 Base64 编码)。如果您没有为 类型: string 示例 :my-broker-deployment-console-secret 默认值 :未指定 | |
| 指定管理控制台是否需要客户端授权。 键入 :布尔值 示例: true 默认值为: false | |
| 单个接受或配置实例。 | |
| 接受人的名称。 类型: string 示例 :my-acceptor 默认值 :Not applicable | |
| 要用于接收器实例的端口号。 键入: int 示例 :5672 默认值 :61626 为您定义的第一个接受者。然后,对于您定义的每个后续接受者,默认值是 10。 | |
| 在接受或实例上要启用的消息传递协议。 类型: string 示例 :amqp,core 默认值: all | |
|
指定是否在接收器端口上启用 SSL。如果设置为 键入 :布尔值 示例: true 默认值为: false | |
| 存储 broker 键存储、信任存储和对应的密码的 secret(所有 Base64 编码)。
如果您没有为 即使接受者假定默认名称,您也必须自行创建此 secret。 类型: string 示例 :my-broker-deployment-my-acceptor-secret 默认值:<custom_resource_name>-<acceptor_name>-secret | |
| 用于 TLS/SSL 通信的以逗号分隔的密码套件列表。
指定客户端应用程序所支持的最安全密码套件。如果您使用以逗号分隔的列表来指定代理和客户端通用的一组密码套件,或者您没有指定任何密码套件,代理和客户端会相互协商要使用的密码套件。如果您不知道需要指定的密码套件,建议您首先与以 debug 模式运行的客户端建立 broker-client 连接,以验证对代理和客户端通用的密码套件。然后,在代理上配置 类型: string 默认值 :未指定 | |
| 用于 TLS/SSL 通信的以逗号分隔的协议列表。 类型: string 示例 :TLSv1,TLSv1.1,TLSv1.2 默认值 :未指定 | |
|
指定代理是否告知客户端在接受者需要双向 TLS。此属性覆盖 键入 :布尔值 示例: true 默认值 :未指定 | |
|
指定代理是否告知客户端在接受者上 请求 双向 TLS,但不强制要求。此属性由 键入 :布尔值 示例: true 默认值 :未指定 | |
| 指定是否将客户端证书的通用名称(CN)与主机名进行比较,以验证它们是否匹配。这个选项只适用于双向 TLS。 键入 :布尔值 示例: true 默认值 :未指定 | |
| 指定 SSL 提供程序是 JDK 还是 OPENSSL。 类型: string 示例 :OPENSSL 默认值 :JDK | |
|
与传入连接上的 类型: string 示例 : some_regular_expression 默认值 :未指定 | |
| 指定是否向 OpenShift Container Platform 外部的客户端公开接受者。 当您向 OpenShift 外部的客户端公开接受器时,Operator 会自动为部署中的每个代理 Pod 创建专用的服务和路由。 键入 :布尔值 示例: true 默认值为: false | |
|
客户端用来指定应使用任何广播 类型: string 示例: jms.queue 默认值 :未指定 | |
|
客户端使用前缀来指定应该使用 类型: string 示例 :/topic/ 默认值 :未指定 | |
| 接受者允许的连接数。达到此限制时,会在日志中发出 DEBUG 消息,并且连接被拒绝。使用中的客户端类型决定了连接被拒绝时会发生什么。 类型: integer 示例 :2 默认值 :0(无限连接) | |
|
代理将 AMQP 消息作为大消息处理所需的最小消息大小(以字节为单位)。如果 AMQP 消息的大小相等或大于这个值,代理会将消息存储在大型消息目录( 类型: integer 示例 :204800 默认值 :102400 (100 KB) | |
| 单一连接器配置实例。 | |
| 连接器的名称。 类型: string 示例 :my-connector 默认值 :Not applicable | |
|
要创建的连接器类型,tcp 类型: string 示例 :vm 默认值为: tcp | |
| 要连接的主机名或 IP 地址。 类型: string 示例 :192.168.0.58 默认值 :未指定 | |
| 用于连接器实例的端口号。 键入: int 示例 :22222 默认值 :未指定 | |
|
指定是否在连接器端口上启用 SSL。如果设置为 键入 :布尔值 示例: true 默认值为: false | |
| 存储 broker 键存储、信任存储和对应的密码的 secret(所有 Base64 编码)。
如果您没有为 您必须始终创建此 secret,即使连接器假设默认名称。 类型: string 示例 :my-broker-deployment-my-connector-secret 默认值:<custom_resource_name>-<connector_name>-secret | |
| 用于 TLS/SSL 通信的以逗号分隔的密码套件列表。 类型: string 注意 :对于连接器,建议您不要 指定密码套件列表。 默认值 :未指定 | |
| 用于 TLS/SSL 通信的以逗号分隔的协议列表。 类型: string 示例 :TLSv1,TLSv1.1,TLSv1.2 默认值 :未指定 | |
|
指定代理是否告知客户端在连接器需要双向 TLS。此属性覆盖 键入 :布尔值 示例: true 默认值 :未指定 | |
|
指定代理是否告知客户端在连接器上 请求 双向 TLS,但不是必需的。此属性由 键入 :布尔值 示例: true 默认值 :未指定 | |
| 指定是否将客户端证书的通用名称(CN)与主机名进行比较,以验证它们是否匹配。这个选项只适用于双向 TLS。 键入 :布尔值 示例: true 默认值 :未指定 | |
|
指定 SSL 提供程序是 类型: string 示例 :OPENSSL 默认值 :JDK | |
|
与传出连接上的 类型: string 示例 : some_regular_expression 默认值 :未指定 | |
| 指定要将连接器公开给 OpenShift Container Platform 外部的客户端。 键入 :布尔值 示例: true 默认值为: false | |
| 指定 Operator 如何应用您添加到 CR 中的配置,用于每个匹配的地址或一组地址。 您可以指定的值有:
类型: string 示例 : replace_all 默认值: merge_all | |
| 匹配地址 或一组 地址的地址设置。 | |
|
指定在通过
类型: string 示例 :DROP 默认值 :页面 | |
| 指定代理在客户端向发送消息时是否自动创建地址,或者试图使用绑定到不存在的地址的队列。 键入 :布尔值 示例 :false 默认值为: true | |
| 指定代理是否自动创建死信地址和队列来接收未发送的消息。
如果 参数设置为 键入 :布尔值 示例: true 默认值为: false | |
| 指定代理是否自动创建地址和队列来接收过期的信息。
如果参数设置为 键入 :布尔值 示例: true 默认值为: false | |
|
此属性已弃用。使用 | |
|
此属性已弃用。使用 | |
| 指定代理是否在客户端发送消息时自动创建队列,或者试图使用来自 的消息(尚不存在的队列)。 键入 :布尔值 示例 :false 默认值为: true | |
| 指定代理不再有队列时,代理是否自动删除自动创建的地址。 键入 :布尔值 示例 :false 默认值为: true | |
| 当地址没有队列时,代理会在自动删除自动创建的地址前等待。 类型: integer 示例 :100 默认值 :0 | |
|
此属性已弃用。改为使用 | |
|
此属性已弃用。改为使用 | |
| 指定代理是否在队列没有消费者且没有消息时自动删除自动创建的队列。 键入 :布尔值 示例 :false 默认值为: true | |
| 指定代理是否在队列没有消费者且没有消息时手动删除手动创建的队列。 键入 :布尔值 示例: true 默认值为: false | |
| 当队列没有消费者时,代理会在自动删除自动创建队列前等待。 类型: integer 示例 :10 默认值 :0 | |
| 代理评估是否自动删除前可以处于队列中的最大消息数。 类型: integer 示例 :5 默认值 :0 | |
| 当重新加载配置文件时,这个参数指定如何处理从配置文件中删除的地址(及其队列)。您可以指定以下值:
类型: string 示例 :FORCE 默认值 :OFF | |
| 当重新载入配置文件时,此设置指定代理如何处理已从配置文件中删除的队列。您可以指定以下值:
类型: string 示例 :FORCE 默认值 :OFF | |
| 代理向发送死(即 未发送)消息的地址。 类型: string 示例 :DLA 默认值 :无 | |
| 代理应用到自动创建的死信队列的名称的前缀。 类型: string 示例 :myDLQ。 默认值 :DLQ: | |
| 代理应用到自动创建的死信队列的后缀。 类型: string 示例 : .DLQ 默认值 :无 | |
| 自动创建的地址中使用的路由类型。 类型: string 示例 :ANYCAST 默认值 :多播 | |
| 在消息分配前需要的用户数量可以开始地址上的队列。 类型: integer 示例 :5 默认值 :0 | |
| 面向消费者的默认窗口大小(以字节为单位)。 类型: integer 示例 :300000 默认值 :1048576 (1024*1024) | |
|
默认时间(毫秒),如果没有为 类型: integer 示例 :5 默认值: -1(无延迟) | |
| 指定地址上的所有队列默认为独占队列。 键入 :布尔值 示例: true 默认值为: false | |
| 用于消息分组的存储桶数量。 类型: integer 示例 :0(禁用消息分组) 默认值 : -1(无限制) | |
| 用于向消费者表明首先在某一组中的消息。 类型: string 示例 :firstMessageKey 默认值 :无 | |
| 指定在新消费者连接到代理时是否重新平衡组。 键入 :布尔值 示例: true 默认值为: false | |
| 指定在代理进行重新平衡组时是否分配消息。 键入 :布尔值 示例: true 默认值为: false | |
| 指定地址上所有队列是否为最后一个值队列。 键入 :布尔值 示例: true 默认值为: false | |
| 用于最后一个值队列的默认密钥。 类型: string 示例 : stock_ticker 默认值 :无 | |
| 在任意时间点上允许的最大使用者数量。 类型: integer 示例 :100 默认值 : -1(无限制) | |
| 指定地址上的所有队列是否为非破坏性。 键入 :布尔值 示例: true 默认值为: false | |
| 指定代理在没有消费者后是否清除队列的内容。 键入 :布尔值 示例: true 默认值为: false | |
|
自动创建队列中使用的路由类型。默认值为 类型: string 示例 :ANYCAST 默认值 :多播 | |
| 显式设置 ring 的匹配队列的默认环大小。 类型: integer 示例 :3 默认值 : -1(无大小限制) | |
| 指定配置的 metrics 插件(如 Prometheus 插件)是否为匹配的地址或一组地址收集指标。 键入 :布尔值 示例 :false 默认值为: true | |
| 接收过期信息的地址。 类型: string 示例 :myExpiryAddress 默认值 :无 | |
| 过期时间(以毫秒为单位)应用于使用默认过期时间的信息。 类型: integer 示例 :100 默认值: -1(没有应用过期时间) | |
| 代理应用到自动创建的到期队列的名称的前缀。 类型: string 示例 :myExp. 默认值 :加快. | |
| 代理应用到自动创建的到期队列名称的后缀。 类型: string 示例 :.EXP 默认值 :无 | |
| 指定队列是否只使用最后值。 键入 :布尔值 示例: true 默认值为: false | |
| 指定管理资源可以浏览的消息数量。 类型: integer 示例 :100 默认值 :200 | |
| 与代理上配置的地址设置匹配的字符串。您可以指定准确的地址名,或者使用通配符表达式将地址设置 与一组 地址匹配。
如果您使用通配符表达式作为 类型: string 示例 :'myAddresses*' 默认值 :无 | |
| 指定代理在向配置的死信地址发送消息前尝试发送消息的次数。 类型: integer 示例 :20 默认值 :10 | |
| 过期时间(以毫秒为单位)应用于使用超过这个值的过期时间的信息。 类型: integer 示例 :20 默认值: -1(没有应用最长过期时间) | |
| 代理发出的消息重新传送尝试间最大值,以毫秒为单位。 类型: integer 示例 :100
默认值 :默认值为 | |
|
地址的最大内存大小,以字节为单位。当 类型: string 示例 :10Mb 默认值 : -1(无限制) | |
|
代理开始拒绝消息前可以到达的最大大小(以字节为单位)。当 类型: integer 示例 :500 默认值 : -1(无最大大小) | |
| 代理为地址保留消息计数器历史记录的天数。 类型: integer 示例 :5 默认值 :0 | |
| 过期时间(以毫秒为单位)应用于使用比这个值的过期时间较低的信息。 类型: integer 示例 :20 默认值 : -1(未应用最小过期时间) | |
| 在分页导航期间,保留在内存中优化 I/O 的页面文件数目。 类型: integer 示例 :10 默认值 :5 | |
|
分页大小(以字节为单位)。也支持字节表示法,如 类型: string 示例 :20971520 默认值 :10485760(大约 10.5 MB) | |
| 代理在重新发送已取消消息前等待的时间(以毫秒为单位)。 类型: integer 示例 :100 默认值 :0 | |
|
将多个因素应用到 键入: number 示例 :5 默认值 :1 | |
|
将多个因素应用到 键入: number 示例 :1.1 默认值 :0 | |
| 在重新分发所有剩余的消息前,代理在最后一个消费者关闭前等待的时间(毫秒)。 类型: integer 示例 :100 默认值 : -1(未设置) | |
| 对于在地址中创建的将来队列的消息数量。 类型: integer 示例 :100 默认值 :0 | |
| 指定如果无法路由到任何队列,则消息是否会被发送到配置的死信地址。 键入 :布尔值 示例: true 默认值为: false | |
| 代理检查速度较慢的消费者的频率,以秒为单位。 类型: integer 示例 :15 默认值 :5 | |
|
指定在识别缓慢的消费者时会发生什么情况。有效选项为 类型: string 示例 :KILL 默认值 :通知 | |
| 在消费者被视为缓慢前,消息每秒最少的消耗率。 类型: integer 示例 :100 默认值 : -1(未设置) | |
| ||
|
当您更新 键入 :布尔值 示例: true 默认值为: false | |
|
指定在将 键入 :布尔值 示例: true 默认值为: false | |
|
指定 AMQ Broker 的目标 次要版本,您希望 Operator 自动更新 CR 以使用对应的代理容器镜像。例如,如果您将 类型: string 示例 :7.7.0 默认值 :AMQ Broker 的当前版本 |
11.1.2. 地址自定义资源配置参考
基于地址 CRD 的 CR 实例允许您为部署中的代理定义地址和队列。下表详细列出了您可以配置的项目。
任何您部署的对应自定义资源(CR)中都需要使用星号(*)标记的配置项目。如果没有为非必要项目显式指定值,则配置将使用默认值。
条目 | 描述和使用 |
---|---|
| 在代理上创建的地址名称。 类型: string 示例 : address0 默认值 :未指定 |
| 在 broker 上创建的队列名称。 类型: string 示例 : queue0 默认值 :未指定 |
|
指定在删除该部署的地址 CR 实例时,Operator 是否删除部署中所有代理的现有地址。默认值为 键入 :布尔值 示例: true 默认值为: false |
|
要使用的路由类型;任何 类型: string 示例 :任何广播 默认值 :未指定 |