跳到内容

开发者配置选项

Broker 配置

  • 您可以为您的 Broker 指定任何有效的 name。使用 default 将创建一个名为 default 的 Broker。
  • namespace 必须是集群中已存在的命名空间。使用 default 将在 default 命名空间中创建 Broker。

事件传递选项

  • 您可以使用 dead-letter sink 来处理未传递消息的错误处理和审计。使用 ref 指定未传递消息将被发送到的 Kubernetes 对象引用,并使用 uri 指定一个可选的 URI 来路由未传递的消息。
  • 您可以设置 Backoff policies 来定义重试尝试之间的延迟策略。它可以是 exponentiallinear
  • 您可以使用 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

  1. 设置 eventing.knative.dev/broker.class 注解。在以下示例中,将 MTChannelBasedBroker 替换为您要使用的类类型。请注意,Broker 类注解是不可变的,因此在 Broker 创建后无法更新。

  2. 使用 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"

我们使用分析和 cookie 来了解网站流量。有关您使用我们网站的信息会与 Google 共享以达到此目的。了解更多。