开发者配置选项¶
Broker 配置¶
- 您可以为您的 Broker 指定任何有效的
name。使用default将创建一个名为default的 Broker。 namespace必须是集群中已存在的命名空间。使用default将在default命名空间中创建 Broker。
事件传递选项¶
- 您可以使用
dead-letter sink来处理未传递消息的错误处理和审计。使用ref指定未传递消息将被发送到的 Kubernetes 对象引用,并使用uri指定一个可选的 URI 来路由未传递的消息。 - 您可以设置
Backoff policies来定义重试尝试之间的延迟策略。它可以是exponential或linear。 - 您可以使用 ISO 8601 持续时间格式设置
Backoff delay来指定重试前的初始延迟。 - 您可以使用
retry配置来指定将事件发送到死信接收器之前的重试次数。 spec.delivery用于配置事件传递选项。事件传递选项指定在事件未能传递到事件接收器时会发生什么。有关更多信息,请参阅 事件传递 文档。
高级 Broker 类选项¶
当创建一个未指定 eventing.knative.dev/broker.class 注解的 Broker 时,默认情况下将使用 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 创建后无法更新。 -
使用
spec.config配置定义 Broker 类所需配置的 ConfigMap 的详细信息(例如,对于MTChannelBasedBroker,可以包含一些 Channel 配置)。
有关在集群范围内或按命名空间配置默认 Broker 类的更多信息,请查看 管理员配置选项。
Broker 配置示例¶
以下是一个基于 Channel 的 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"