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
consolehelm repo add bitnami [***] helm repo update
指定自定义参数部署(如设置密码、集群规模):
consolehelm install my-release bitnami/valkey \ --set auth.password=your_secure_password \ --set primary.replicaCount=1 \ --set replica.replicaCount=2
检查 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
架构参数 architecture=replication(默认),部署主节点 StatefulSet 和从节点 StatefulSet:
my-release-valkey-primary):处理读写操作my-release-valkey-replicas):仅处理读操作配置示例:
yamlarchitecture: replication primary: replicaCount: 1 # 主节点数量(建议保持1) replica: replicaCount: 2 # 从节点数量
架构参数 architecture=standalone,部署单节点 StatefulSet:
yamlarchitecture: standalone primary: replicaCount: 1
启用 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
默认自动生成随机密码,存储在 Secret my-release-valkey 中。获取密码:
consolekubectl get secret my-release-valkey -o jsonpath="{.data.valkey-password}" | base64 -d
部署时指定密码:
consolehelm install my-release bitnami/valkey --set auth.password=your_secure_password
引用已存在的 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。
创建包含证书的 Secret,然后配置:
yamltls: enabled: true existingSecret: valkey-tls-secret # 包含证书的 Secret 名称 certFilename: tls.crt # 证书文件名 certKeyFilename: tls.key # 私钥文件名 certCAFilename: ca.crt # CA 证书文件名
如启用 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 节点间通信。
手动触发 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
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,不再更新。详细信息参见 Bitnami Secure Images 公告。
除 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完整配置参数及高级用法参见 Bitnami Valkey Helm Chart 文档
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429