Valkey 是一款开源(BSD协议)的高性能键值数据存储系统,支持缓存、消息队列、主数据库等多种工作负载场景。Bitnami Valkey Helm Chart 用于在 Kubernetes 集群上快速部署和管理 Valkey,提供预配置的集群拓扑、监控集成、安全加固等企业级特性,简化 Valkey 在容器化环境中的运维流程。
redis_exporter,支持 ServiceMonitor 自动发现SET NX 命令实现分布式锁机制通过 Helm 快速部署默认配置的 Valkey 集群:
consolehelm install my-release oci://registry-1.docker.io/bitnamicharts/valkey
5.2.1 添加 Helm 仓库(如需)
consolehelm repo add bitnami https://charts.bitnami.com/bitnami helm repo update
5.2.2 部署自定义配置
指定自定义参数部署(如设置密码、集群规模):
consolehelm install my-release bitnami/valkey \ --set auth.password=your_secure_password \ --set primary.replicaCount=1 \ --set replica.replicaCount=2
5.2.3 验证部署
检查 Pod 状态:
consolekubectl get pods -l app.kubernetes.io/name=valkey
访问 Valkey 集群(内部访问):
consolekubectl exec -it my-release-valkey-primary-0 -- valkey-cli -a your_secure_password
6.1.1 主从复制模式(默认)
架构参数 architecture=replication(默认),部署主节点 StatefulSet 和从节点 StatefulSet:
my-release-valkey-primary):处理读写操作my-release-valkey-replicas):仅处理读操作配置示例:
yamlarchitecture: replication primary: replicaCount: 1 # 主节点数量(建议保持1) replica: replicaCount: 2 # 从节点数量
6.1.2 独立模式
架构参数 architecture=standalone,部署单节点 StatefulSet:
yamlarchitecture: standalone primary: replicaCount: 1
6.1.3 带 Sentinel 的主从架构
启用 Sentinel 实现自动故障转移:
yamlarchitecture: replication sentinel: enabled: true # 启用 Sentinel replicaCount: 3 # Sentinel 节点数量(建议 ≥3)
Sentinel 服务暴露在 26379 端口,通过以下命令查询当前主节点:
consolekubectl exec -it my-release-valkey-node-0 -c sentinel -- valkey-cli -p 26379 SENTINEL get-primary-addr-by-name myprimary
通过 resources 参数配置容器资源:
yamlprimary: resources: requests: cpu: 500m memory: 512Mi limits: cpu: 1000m memory: 1Gi replica: resources: requests: cpu: 200m memory: 256Mi
6.3.1 自动生成密码
默认自动生成随机密码,存储在 Secret my-release-valkey 中。获取密码:
consolekubectl get secret my-release-valkey -o jsonpath="{.data.valkey-password}" | base64 -d
6.3.2 使用自定义密码
部署时指定密码:
consolehelm install my-release bitnami/valkey --set auth.password=your_secure_password
6.3.3 使用现有 Secret
引用已存在的 Secret(需包含 valkey-password 键):
yamlauth: existingSecret: my-existing-secret # 现有 Secret 名称
启用 Prometheus 监控:
yamlmetrics: enabled: true # 启用监控 sidecar serviceMonitor: enabled: true # 部署 ServiceMonitor(需 Prometheus Operator) extraArgs: # 自定义 exporter 参数(如 TLS 配置) tls-ca-cert-file: /etc/tls/ca.crt
监控指标通过 my-release-valkey-metrics 服务暴露,默认端口 9121。
6.5.1 启用 TLS
创建包含证书的 Secret,然后配置:
yamltls: enabled: true existingSecret: valkey-tls-secret # 包含证书的 Secret 名称 certFilename: tls.crt # 证书文件名 certKeyFilename: tls.key # 私钥文件名 certCAFilename: ca.crt # CA 证书文件名
6.5.2 监控 TLS 配置
如启用 TLS,需为监控 exporter 配置 TLS 参数:
yamlmetrics: extraArgs: tls-client-cert-file: /etc/tls/tls.crt tls-client-key-file: /etc/tls/tls.key tls-ca-cert-file: /etc/tls/ca.crt
通过 ExternalDNS 自动注册 Pod FQDN:
yamluseExternalDNS: enabled: true suffix: prod.example.org # DNS 后缀 additionalAnnotations: ttl: 10 # DNS 记录 TTL
生成的 FQDN 格式:<pod-name>.<release-name>.<suffix>,用于 Valkey 节点间通信。
6.7.1 数据备份
手动触发 RDB 备份并导出:
console# 进入主节点 Pod kubectl exec -it my-release-valkey-primary-0 -- bash # 执行备份 valkey-cli -a $VALKEY_PASSWORD save # 复制备份文件到本地 kubectl cp my-release-valkey-primary-0:/data/dump.rdb ./dump.rdb -c valkey
6.7.2 数据恢复
yamlapiVersion: v1 kind: Pod metadata: name: valkey-restore-pod spec: containers: - name: restore image: bitnami/os-shell command: ["tail", "-f", "/dev/null"] volumeMounts: - name: valkey-data mountPath: /data volumes: - name: valkey-data persistentVolumeClaim: claimName: my-release-valkey-primary-0 # 目标 PVC 名称
consolekubectl cp ./dump.rdb valkey-restore-pod:/data/dump.rdb
consolehelm upgrade my-release bitnami/valkey --reuse-values
启用网络策略限制访问:
yamlnetworkPolicy: enabled: true ingressNSMatchLabels: # 允许指定命名空间访问 valkey: external ingressNSPodMatchLabels: # 允许指定 Pod 标签访问 valkey-client: true
部署时指定已存在的 PVC:
consolehelm install my-release bitnami/valkey \ --set primary.persistence.existingClaim=my-existing-pvc
PVC 需提前创建,且访问模式为 ReadWriteOnce。
| 参数名 | 描述 | 默认值 |
|---|---|---|
global.imageRegistry | 全局 Docker 镜像仓库地址 | "" |
global.imagePullSecrets | 全局镜像拉取密钥列表 | [] |
global.defaultStorageClass | 全局默认存储类 | "" |
| 参数名 | 描述 | 默认值 |
|---|---|---|
image.registry | Valkey 镜像仓库 | docker.io |
image.repository | Valkey 镜像名称 | bitnami/valkey |
image.tag | Valkey 镜像标签 | latest |
image.pullPolicy | 镜像拉取策略 | IfNotPresent |
| 参数名 | 描述 | 默认值 |
|---|---|---|
auth.enabled | 是否启用密码认证 | true |
auth.password | Valkey 访问密码(自动生成 if 为空) | "" |
auth.existingSecret | 现有密码 Secret 名称 | "" |
自 2025 年 8 月 28 日起,Bitnami 将启动 Bitnami Secure Images 计划,优化容器镜像安全性:
docker.io/bitnami 迁移至 docker.io/bitnamilegacy,不再更新。详细信息参见 https://github.com/bitnami/containers/issues/83267%E3%80%82
除 Helm 部署外,可通过 Docker 直接运行 Valkey 单节点:
consoledocker run -d \ --name valkey \ -p 6379:6379 \ -e VALKEY_PASSWORD=your_secure_password \ -v valkey-data:/data \ bitnami/valkey:latest
-e VALKEY_PASSWORD:设置访问密码-v valkey-data:/data:挂载数据卷持久化数据docker exec -it valkey valkey-cli -a your_secure_password完整配置参数及高级用法参见 https://github.com/bitnami/charts/blob/main/bitnami/valkey/README.md
以下是 bitnamicharts/valkey 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务