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: failover
value: # 可选
- name: sentinelMasterName
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
时,会自动创建一个作为 Docker 容器的 Redis 实例
您可以使用 Helm 在我们的 Kubernetes 集群中快速创建一个 Redis 实例。此方法需要安装 Helm。
将 Redis 安装到您的集群中。请注意,我们显式设置了一个镜像标签以获取版本大于 5 的版本,这是 Dapr 的 pubsub 功能所需的。如果您打算仅将 Redis 用作状态存储(而不是用于 pubsub),则无需设置镜像版本。
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
键设置为 [HOST NAME FROM PREVIOUS STEP]:6379
,并将 redisPassword
键设置为您之前保存的密钥。
注意: 在生产环境中,请遵循秘密管理说明以安全管理您的 secret。
启用 EntraID 支持:
- 在您的 Azure Redis 服务器上启用 Entra ID 身份验证。这可能需要几分钟。
- 将
useEntraID
设置为 "true"
以实现 Azure Cache for Redis 的 EntraID 支持。
将 enableTLS
设置为 "true"
以支持 TLS。
注意:useEntraID
假定您的 UserPrincipal(通过 AzureCLICredential)或 SystemAssigned 托管身份具有 RedisDataOwner 角色权限。如果使用用户分配的身份,您需要指定 azureClientID
属性。