開發人員組態選項¶
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 類別選項¶
當建立 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 後無法更新。 -
使用 ConfigMap 的詳細資訊來設定
spec.config
,該 ConfigMap 定義了 Broker 類別的必要設定(例如,在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"