跳至內容

使用叢集或命名空間預設值建立 Channel

開發人員可以透過建立 Channel 物件的實例,來建立任何支援實作類型的 Channel。

若要建立 Channel

  1. 使用以下範本,為 Channel 物件建立 YAML 檔案

    apiVersion: messaging.knative.dev/v1
    kind: Channel
    metadata:
      name: <example-channel>
      namespace: <namespace>
    
    其中

    • <example-channel> 是您要建立的 Channel 的名稱。
    • <namespace> 是您的目標命名空間的名稱。
  2. 執行命令套用 YAML 檔案

    kubectl apply -f <filename>.yaml
    
    其中 <filename> 是您在上一個步驟中建立的檔案名稱。

如果您在 default 命名空間中建立此物件,根據 Channel 類型和預設值 中的預設 ConfigMap 範例,則它是 InMemoryChannel Channel 實作。

在建立 Channel 物件後,變更的准入 Webhook 會根據預設的 Channel 實作設定 spec.channelTemplate

apiVersion: messaging.knative.dev/v1
kind: Channel
metadata:
  name: <example-channel>
  namespace: <namespace>
spec:
  channelTemplate:
    apiVersion: messaging.knative.dev/v1
    kind: <channel-template-kind>
其中

  • <example-channel> 是您要建立的 Channel 的名稱。
  • <namespace> 是您的目標命名空間的名稱。
  • <channel-template-kind> 是 Channel 的類型,例如 InMemoryChannel 或 KafkaChannel,根據預設的 ConfigMap。請參閱 Channel 類型和預設值 中的範例。

注意

spec.channelTemplate 屬性在建立後無法變更,因為它是由預設的 Channel 機制設定,而不是由使用者設定。

Channel 控制器會根據 spec.channelTemplate 建立後端 Channel 實例。

當使用此機制時,會建立兩個物件;一個通用的 Channel 物件和一個 InMemoryChannel 物件。通用物件充當 InMemoryChannel 物件的 Proxy,方法是將其訂閱複製到 InMemoryChannel 物件,並將其狀態設定為 InMemoryChannel 物件的狀態。

注意

預設值僅在首次建立 Channel 或 Sequence 時由 Webhook 套用。如果變更預設設定,則新的預設值只會套用到新建立的 Channel、Broker 或 Sequence。現有的資源不會自動更新以使用新的設定。

我們使用分析和 Cookie 來了解網站流量。您使用我們網站的資訊會與 Google 分享,以達到此目的。了解更多。