apiVersion: dapr.io/v1alpha1
kind: Component
metadata:
name: <NAME>
spec:
type: lock.redis
version: v1
metadata:
- name: redisHost
value: <HOST>
- name: redisPassword #可选。
value: <PASSWORD>
- name: useEntraID
value: <bool> # 可选。允许值:true, false。
- name: enableTLS
value: <bool> # 可选。允许值:true, false。
- name: failover
value: <bool> # 可选。允许值:true, false。
- name: sentinelMasterName
value: <string> # 可选
- name: maxRetries
value: # 可选
- name: maxRetryBackoff
value: # 可选
- name: redeliverInterval
value: # 可选
- name: processingTimeout
value: # 可选
- name: redisType
value: # 可选
- name: redisDB
value: # 可选
- name: redisMaxRetries
value: # 可选
- name: redisMinRetryInterval
value: # 可选
- name: redisMaxRetryInterval
value: # 可选
- name: dialTimeout
value: # 可选
- name: readTimeout
value: # 可选
- name: writeTimeout
value: # 可选
- name: poolSize
value: # 可选
- name: poolTimeout
value: # 可选
- name: maxConnAge
value: # 可选
- name: minIdleConns
value: # 可选
- name: idleCheckFrequency
value: # 可选
- name: idleTimeout
value: # 可选
当您运行 dapr init 时,会自动创建一个 Redis 实例作为 Docker 容器
您可以使用 Helm 在我们的 Kubernetes 集群中快速创建 Redis 实例。此方法需要安装 Helm。
将 Redis 安装到您的集群中。请注意,我们显式地设置了一个镜像标签以获得大于 5 的版本,这是 Dapr 的发布/订阅功能所要求的。如果您打算仅将 Redis 用作状态存储(而不用于发布/订阅),则不必设置镜像版本。
helm repo add bitnami https://charts.bitnami.com/bitnami
helm install redis bitnami/redis --set image.tag=6.2
运行 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 并复制输出的密码。
将此密码作为 redisPassword 值添加到您的 redis.yaml 文件中。例如:
metadata:
- name: redisPassword
value: lhDOkwTlp0
使用官方 Microsoft 文档创建 Azure Cache for Redis 实例。
创建实例后,从 Azure 门户获取主机名(FQDN)和您的访问密钥。
将您的密钥和主机名添加到 Dapr 可以应用于您的集群的 redis.yaml 文件中。
- 如果您正在运行示例,请将主机和密钥添加到提供的
redis.yaml 中。 - 如果您是从头开始创建项目,请按照组件格式部分中的说明创建
redis.yaml 文件。
将 redisHost 键设置为 [上一步中的主机名]:6379,将 redisPassword 键设置为之前保存的密钥。
注意: 在生产级应用程序中,请遵循 secret 管理 说明来安全管理您的 secret。
启用 EntraID 支持:
- 在您的 Azure Redis 服务器上启用 Entra ID 身份验证。这可能需要几分钟时间。
- 将
useEntraID 设置为 "true" 以为 Azure Cache for Redis 实现 EntraID 支持。
将 enableTLS 设置为 "true" 以支持 TLS。
注意:useEntraID 假定您的 UserPrincipal(通过 AzureCLICredential)或 SystemAssigned 托管标识具有 RedisDataOwner 角色权限。如果使用用户分配的标识,您需要指定 azureClientID 属性。