To setup Redis binding create a component of type bindings.redis
. See this guide on how to create and apply a binding configuration.
apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
namespace: <NAMESPACE>
spec:
type: bindings.redis
version: v1
metadata:
- name: redisHost
value: <address>:6379
- name: redisPassword
value: **************
- name: enableTLS
value: <bool>
字段 | 必填 | 绑定支持 | 详情 | Example |
---|---|---|---|---|
redisHost | Y | 输出 | The Redis host address | "localhost:6379" |
redisPassword | Y | 输出 | The Redis password | "password" |
enableTLS | N | 输出 | If the Redis instance supports TLS with public certificates it can be configured to enable or disable TLS. 默认值为 "false" | "true" , "false" |
字段名为 ttlInSeconds
。
create
Dapr可以使用任何Redis实例,无论是容器化的,运行在本地开发机器上的,或者是托管的云服务,前提是Redis的版本是5.0.0或更高。
Dapr CLI将自动为你创建和设置一个Redis Streams实例。 当你执行dapr init
时,Redis实例将通过Docker安装,组件文件将在默认目录下创建。 (默认目录位于$HOME/.dapr/components
(Mac/Linux) ,%USERPROFILE%\.dapr\components
(Windows)).
您可以使用 helm 在我们的 Kubernetes 集群中快速创建 dapr 实例。 这种方法需要安装Helm。
安装 Redis 到你的集群:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis bitnami/redis
执行kubectl get pods
来查看现在正在集群中运行的Redis容器。
在您的redis.yaml文件中添加redis-master:6379
作为redisHost
。 例如:
metadata:
- name: redisHost
value: redis-master:6379
接下来,我们会获取到我们的Redis密码,根据我们使用的操作系统不同,密码也会略有不同:
Windows:执行kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" > encoded.b64
,这将创建一个有你的加密后密码的文件。 接下来,执行certutil -decode encoded.b64 password.txt
,它将把你的redis密码放在一个名为password.txt
的文本文件中。 复制密码,删除这两个文件。
Linux/MacOS:执行 kubectl get secret --namespace default redis -o jsonpath="{.data.redis-password}" | base64 --decode
并复制输出的密码。
将此密码设置为redis.yaml文件的redisPassword
的值。 例如:
- name: redisPassword
value: "lhDOkwTlp0"
dapr init
命令的一部分,Dapr CLI会在自托管模式下自动部署本地redis实例。