コンテンツへスキップ

RedisStreamSourceの作成

version

このトピックでは、RedisStreamSourceオブジェクトの作成方法について説明します。

RedisStreamSourceアドオンのインストール

RedisStreamSourceは、Knative Eventingのアドオンです。

  1. 以下のコマンドを実行してRedisStreamSourceをインストールします。

    kubectl apply -f https://github.com/knative-extensions/eventing-redis/releases/download/knative-v1.16.0/redis-source.yaml
    
  2. redis-controller-managerが実行されていることを確認します。

    kubectl get deployments.apps -n knative-sources
    

    出力例

    NAME                           READY   UP-TO-DATE   AVAILABLE   AGE
    redis-controller-manager        1/1     1            1           3s
    

サービスの作成

  1. YAMLファイルとしてevent-displayサービスを作成します。

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: event-display
      namespace: default
    spec:
      template:
        spec:
          containers:
            - # This corresponds to
              # https://github.com/knative/eventing/tree/main/cmd/event_display/main.go
              image: gcr.io/knative-releases/knative.dev/eventing/cmd/event_display
    
  2. 以下のコマンドを実行してYAMLファイルを適用します。

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

    出力例

    service.serving.knative.dev/event-display created
    

  3. 以下のコマンドを実行して、サービスPodが実行されていることを確認します。

    kubectl get pods
    

    Pod名はevent-displayで始まります。

    NAME                                            READY     STATUS    RESTARTS   AGE
    event-display-00001-deployment-5d5df6c7-gv2j4   2/2       Running   0          72s
    

RedisStreamSourceオブジェクトの作成

  1. 以下のYAMLテンプレートを使用してRedisStreamSourceオブジェクトを作成します。
apiVersion: sources.knative.dev/v1alpha1
kind: RedisStreamSource
metadata:
  name: <redis-stream-source>
spec:
  address: <redis-uri>
  stream: <redis-stream-name>
  group: <consumer-group-name>
  sink: <sink>

ここで、

  • <redis-stream-source>はソースの名前です。(必須)
  • <redis-uri>はRedis URIです。Redisのドキュメントで詳細を確認してください。(必須)
  • <redis-stream-name>はRedisストリームの名前です。(必須)
  • <consumer-group-name>はRedisコンシューマグループの名前です。空欄の場合は、このソース用にグループが自動的に作成され、このソースが削除されるときに削除されます。(オプション)
  • <sink>はイベントを送信する場所です。(必須)

  • 以下のコマンドを実行してYAMLファイルを適用します。

    kubectl apply -f <filename>
    

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

RedisStreamSourceオブジェクトの検証

  1. 以下のコマンドを実行して、event-displayイベントコンシューマのログを表示します。

    kubectl logs -l app=event-display --tail=100
    

    出力例

    ☁️  cloudevents.Event
    Validation: valid
    Context Attributes,
      specversion: 1.0
      type: dev.knative.sources.redisstream
      source: /mystream
      id: 1597775814718-0
      time: 2020-08-18T18:36:54.719802342Z
      datacontenttype: application/json
    Data,
      [
        "fruit",
        "banana"
        "color",
        "yellow"
      ]
    

RedisStreamSourceオブジェクトの削除

  • RedisStreamSourceオブジェクトを削除します。

    kubectl delete -f <filename>
    

追加情報

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