コンテンツにスキップする

クラスターまたは名前空間のデフォルトを使ってチャンネルを作成する

開発者は、チャンネルオブジェクトのインスタンスを作成することで、どのサポートされる実装タイプでもチャンネルを作成できます。

チャンネルを作成するには

  1. 次のテンプレートを使って チャンネルオブジェクト の YAML ファイルを作成します

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

    • <example-channel> は作成するチャンネルの名前です。
    • <namespace> はターゲットの名前空間の名前です。
  2. 以下のコマンドを実行して YAML ファイルを適用します

    kubectl apply -f <filename>.yaml
    
    ここで、<filename> は前のステップで作成したファイルの名前です。

default 名前空間にこのオブジェクトを作成した場合、チャンネルのタイプとデフォルト にあるデフォルトの ConfigMap に従って InMemoryChannel チャンネル実装になります。

チャンネルオブジェクトは作成されると、ミューテート許可 Webhook が 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> は作成するチャンネルの名前です。
  • <namespace> はターゲットの名前空間の名前です。
  • <channel-template-kind> は、デフォルトの ConfigMap に基づいて InMemoryChannel または KafkaChannel といったチャンネルの種類です。チャンネルのタイプとデフォルト の例をご覧ください。

注意

spec.channelTemplate プロパティは、ユーザーではなくデフォルトのチャンネルメカニズムによって設定されるため、作成後は変更できません。

チャンネルコントローラーは spec.channelTemplate に基づいてバッキングチャンネルインスタンスを作成します。

このメカニズムを使用すると、一般的なチャンネルオブジェクトと InMemoryChannel オブジェクトという 2 つのオブジェクトが作成されます。一般的なオブジェクトはサブスクリプションをコピーし、ステータスを InMemoryChannel オブジェクトのものに設定することで、InMemoryChannel オブジェクトのプロキシとして機能します。

注意

デフォルトは、チャンネルまたはシーケンスの初期作成時にのみ Webhook で適用されます。デフォルト設定を変更した場合、新しいデフォルトは新しく作成されたチャンネル、ブローカー、またはシーケンスにのみ適用されます。既存のリソースが新しい設定を使用して自動的に更新されることはありません。

サイトのトラフィックを把握するために Analytics とクッキーを使用しています。この目的で、サイトの利用に関する情報が Google と共有されます。詳細はこちら