创建 RedisStreamSource¶
本主题介绍如何创建 RedisStreamSource 对象。
安装 RedisStreamSource 附加组件¶
RedisStreamSource 是 Knative Eventing 的一个附加组件。
-
运行以下命令安装 RedisStreamSource
kubectl apply -f https://github.com/knative-extensions/eventing-redis/releases/download/knative-v1.21.0/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 podsPod 名称以
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>
其中
<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 Stream 源的更多信息,请参阅
eventing-redisGithub 存储库