创建 RedisStreamSource¶
本主题描述如何创建一个RedisStreamSource
对象。
安装 RedisStreamSource 插件¶
RedisStreamSource
是一个 Knative 事件附加组件。
-
通过运行命令安装 RedisStreamSource:
kubectl apply -f https://storage.googleapis.com/knative-nightly/eventing-redis/latest/redis-source.yaml
-
验证
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
创建服务¶
-
创建
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
-
运行以下命令应用 YAML 文件:
kubectl apply -f <filename>.yaml
其中
<filename>
是您在上一步中创建的文件的名称。示例输出:
service.serving.knative.dev/event-display created
-
确保服务 Pod 正在运行,运行命令:
kubectl get pods
Pod 名称的前缀是
event-display
:NAME READY STATUS RESTARTS AGE event-display-00001-deployment-5d5df6c7-gv2j4 2/2 Running 0 72s
创建 RedisStreamSource 对象¶
-
使用下面的 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>
它是发送事件。(必需)
-
运行以下命令应用 YAML 文件:
kubectl apply -f <filename>
其中
<filename>
是您在上一步中创建的文件的名称。
验证 RedisStreamSource 对象¶
-
查看
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>
额外的信息¶
- 有关 Redis 流源的更多信息,请参见
eventing-redis
Github 库