开发者配置选项¶
Broker 配置¶
- 您可以为您的 Broker 指定任何有效的
name
。使用default
将创建一个名为default
的 Broker。 namespace
必须是集群中已存在的命名空间。使用default
将在default
命名空间中创建 Broker。
事件交付选项¶
- 您可以使用
dead-letter sink
来处理错误和审核未送达的消息。使用ref
指定将未送达的消息发送到的 Kubernetes 对象引用,以及一个可选的 URI 来使用uri
路由未送达的消息。 - 您可以设置
Backoff 策略
来定义重试尝试之间的延迟策略。它可以是exponential
或linear
。 - 您可以设置
Backoff 延迟
来指定在重试之前等待的初始延迟,使用 ISO 8601 持续时间格式。 - 您可以使用
retry
配置指定在将事件发送到死信接收器之前进行的重试尝试次数。 spec.delivery
用于配置事件交付选项。事件交付选项指定在事件无法交付到事件接收器时发生的情况。有关更多信息,请参阅有关 事件交付 的文档。
高级 Broker 类选项¶
当 Broker 在没有指定 eventing.knative.dev/broker.class
注释的情况下创建时,默认情况下使用 MTChannelBasedBroker
Broker 类,如 config-br-defaults
ConfigMap 中所指定。
如果您在集群中安装了多个 Broker 类,并且想要为 Broker 使用非默认 Broker 类,您可以修改 Broker 对象的 eventing.knative.dev/broker.class
注释和 spec.config
。
-
设置
eventing.knative.dev/broker.class
注释。将以下示例中的MTChannelBasedBroker
替换为您想要使用的类类型。请注意,Broker 类注释是不可变的,因此在创建 Broker 后无法更新。 -
使用定义 Broker 类所需配置的 ConfigMap 的详细信息配置
spec.config
(例如,在MTChannelBasedBroker
的情况下,使用一些 Channel 配置)。
有关在整个集群范围内或在每个命名空间范围内配置默认 Broker 类的更多信息,请查看 管理员配置选项。
Broker 配置示例¶
以下是一个基于通道的 Broker 对象的完整示例,它展示了您可以修改的可能配置选项
apiVersion: eventing.knative.dev/v1
kind: Broker
metadata:
name: default
namespace: default
annotations:
eventing.knative.dev/broker.class: MTChannelBasedBroker
spec:
config:
apiVersion: v1
kind: ConfigMap
name: config-br-default-channel
namespace: knative-eventing
delivery:
deadLetterSink:
ref:
kind: Service
namespace: example-namespace
name: example-service
apiVersion: v1
uri: example-uri
retry: 5
backoffPolicy: exponential
backoffDelay: "PT1S"