Redis 绑定规范

Redis 组件绑定详细说明

配置

To setup Redis binding create a component of type bindings.redis. See this guide on how to create and apply a binding configuration.

  1. apiVersion: dapr.io/v1alpha1
  2. kind: Component
  3. metadata:
  4. name: <NAME>
  5. namespace: <NAMESPACE>
  6. spec:
  7. type: bindings.redis
  8. version: v1
  9. metadata:
  10. - name: redisHost
  11. value: <address>:6379
  12. - name: redisPassword
  13. value: **************
  14. - name: enableTLS
  15. value: <bool>

Warning

以上示例将密钥明文存储, It is recommended to use a secret store for the secrets as described here.

元数据字段规范

字段必填绑定支持详情Example
redisHostY输出The Redis host address“localhost:6379”
redisPasswordY输出The Redis password“password”
enableTLSN输出If the Redis instance supports TLS with public certificates it can be configured to enable or disable TLS. 默认值为 “false”“true”, “false”

绑定支持

字段名为 ttlInSeconds

  • create

创建Redis实例

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

  1. 安装 Redis 到你的集群:

    1. helm repo add bitnami https://charts.bitnami.com/bitnami
    2. helm install redis bitnami/redis
  2. 执行kubectl get pods来查看现在正在集群中运行的Redis容器。

  3. 在您的redis.yaml文件中添加redis-master:6379作为redisHost。 例如:

    1. metadata:
    2. - name: redisHost
    3. value: redis-master:6379
  4. 接下来,我们会获取到我们的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的值。 例如:

    1. - name: redisPassword
    2. value: "lhDOkwTlp0"

AWS Redis

GCP Cloud MemoryStore

Azure Redis

Note

作为dapr init命令的一部分,Dapr CLI会在自托管模式下自动部署本地redis实例。

相关链接