Skip to content

创建 RedisStreamSource

version

本主题描述如何创建一个RedisStreamSource对象。

安装 RedisStreamSource 插件

RedisStreamSource 是一个 Knative 事件附加组件。

  1. 通过运行命令安装 RedisStreamSource:

    kubectl apply -f https://storage.googleapis.com/knative-nightly/eventing-redis/latest/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. 创建 event-display 服务作为一个 YAML 文件:

    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>
    

    Where:

    • <redis-stream-source> 是你的源名字。(必需)
    • <redis-uri> 是 Redis URI. 更多信息请参见Redis 文档。(必需)
    • <redis-stream-name> 是 Redis 流的名称. (必需)
    • <consumer-group-name> 是 Redis 消费群体的名称。当为空时,将自动为该源创建一个组,并在删除该源时删除该组。(可选)
    • <sink> 它是发送事件。(必需)
  2. 运行以下命令应用 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>

额外的信息

Back to top

We use analytics and cookies to understand site traffic. Information about your use of our site is shared with Google for that purpose. Learn more.

× OK