コンテンツへスキップ

Knative Eventing Sugar Controller

Knative Eventing Sugar Controllerは、設定されたラベルに反応して、クラスタまたは名前空間内のイベントリソースを生成または制御します。これにより、クラスタオペレーターと開発者は、より少ないリソースの作成に集中でき、基盤となるイベントインフラストラクチャはオンデマンドで作成され、不要になった場合はクリーンアップされます。

インストール

Sugar Controllerはデフォルトで無効になっており、config-sugar ConfigMapを設定することで有効にできます。簡単な例については以下を参照し、より詳細についてはSugarコントローラーの設定を参照してください。

ブローカーの自動作成

ブローカーを作成する1つの方法は、デフォルト設定を使用してリソースを手動でクラスタに適用することです。

  1. 次のYAMLをファイルにコピーします。

    apiVersion: eventing.knative.dev/v1
    kind: Broker
    metadata:
      name: default
      namespace: default
    
  2. 次のコマンドを実行してYAMLファイルを適用します。

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

名前空間の作成時やトリガーの作成時など、ブローカーの自動作成が望ましい場合があります。Sugarコントローラーはこれらのユースケースを可能にします。次のsugar-config ConfigMapのサンプル設定では、選択された名前空間とすべてのトリガーに対してSugar Controllerを有効にします。

apiVersion: v1
kind: ConfigMap
metadata:
name: config-sugar
namespace: knative-eventing
labels:
    eventing.knative.dev/release: devel
data:
  # Specify a label selector to selectively apply sugaring to certain namespaces
  namespace-selector: |
    matchExpressions:
    - key: "my.custom.injection.key"
      operator: "In"
      values: ["enabled"]
  # Use an empty object to enable for all triggers
  trigger-selector: |
    {}
  • ラベルmy.custom.injection.key: enabledを持つ名前空間が作成されると、Sugarコントローラーはその名前空間に「default」という名前のブローカーを作成します。
  • トリガーが作成されると、Sugarコントローラーはトリガーの名前空間に「default」という名前のブローカーを作成します。

ブローカーが削除されても参照されているラベルセレクターが使用されている場合、Sugarコントローラーは自動的にデフォルトのブローカーを再作成します。

名前空間の例

名前空間の作成時に「default」ブローカーを作成する

  1. 次のYAMLをファイルにコピーします。

    apiVersion: v1
    kind: Namespace
    metadata:
      name: example
      labels:
        my.custom.injection.key: enabled
    
  2. 次のコマンドを実行してYAMLファイルを適用します。

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

名前空間が存在した後にブローカーを自動的に作成するには、名前空間にラベルを付けます。

kubectl label namespace default my.custom.injection.key=enabled

名前空間に「default」という名前のブローカーが既に存在する場合は、Sugarコントローラーは何もしません。

トリガーの例

トリガーの作成時にトリガーの名前空間に「default」ブローカーを作成する

kubectl apply -f - << EOF
apiVersion: eventing.knative.dev/v1
kind: Trigger
metadata:
  name: hello-sugar
  namespace: hello
spec:
  broker: default
  subscriber:
    ref:
      apiVersion: v1
      kind: Service
      name: event-display
EOF

これにより、「hello」名前空間に「default」というブローカーが作成され、「event-display」サービスへのイベント送信が試みられます。

名前空間に「default」という名前のブローカーが既に存在する場合は、Sugarコントローラーは何もしません。トリガーは既存のブローカーを所有しません。

サイトトラフィックを理解するために、分析とCookieを使用しています。当サイトのご利用に関する情報は、その目的でGoogleと共有されます。詳細はこちら。