本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Valkey 是一款开源(BSD许可)的高性能键值存储系统,支持缓存、消息队列等多种工作负载,亦可作为主数据库使用。Bitnami Valkey Cluster Helm Chart 用于在 Kubernetes 集群上通过 Helm 包管理器部署 Valkey 集群,实现基于分片(sharding)的分布式部署架构。
Valkey Cluster 官方概述
商标说明:本软件包由 Bitnami 打包。所提及的商标分属各自公司所有,使用此类商标不意味着任何关联或背书。
| 特性 | Valkey Helm Chart | Valkey Cluster Helm Chart |
|---|---|---|
| 集群架构 | 基于 Sentinel 的主从(primary-replica)集群 | 基于分片的 Valkey Cluster |
| 数据库支持 | 多数据库 | 仅支持单数据库(适合大型数据集) |
| 写入节点 | 单主节点(单点写入) | 多主节点(分片写入) |
| 典型拓扑 | !Valkey 拓扑 | !Valkey Cluster 拓扑 |
helm install my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster
生产环境建议:如需用于生产环境,推荐使用 VMware Tanzu Application Catalog(Bitnami 商业版应用目录)。
自 2025 年 8 月 28 日起,Bitnami 将升级其公共镜像目录,推出Bitnami Secure Images 计划,提供经过安全加固的精选容器镜像。过渡期变更如下:
更多详情见 Bitnami Secure Images 公告。
使用默认配置部署 Valkey Cluster:
helm install my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster
注意:如需指定私有仓库,需替换
REGISTRY_NAME和REPOSITORY_NAME。例如 Bitnami 公共仓库为REGISTRY_NAME=registry-1.docker.io,REPOSITORY_NAME=bitnamicharts。
通过 --set 参数覆盖默认配置,例如指定集群节点数和副本数:
helm install my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster \ --set cluster.nodes=9 \ --set cluster.replicas=2 \ --set password=StrongPassword123
若因集群初始化耗时过长导致超时,可增加超时时间:
helm install --timeout 600s my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster
| 参数路径 | 描述 | 默认值 |
|---|---|---|
cluster.nodes | 集群总节点数(计算公式:nodes = 主节点数 + 主节点数 × 副本数) | 6 |
cluster.replicas | 每个主节点的副本数 | 1 |
cluster.init | 是否初始化集群(首次安装需设为 true,升级时建议设为 false) | true |
password | Valkey 认证密码(为空时自动生成,可通过 existingSecret 指定密钥) | "" |
existingSecret | 存储密码的现有 Secret 名称 | "" |
resourcesPreset | 资源预设模板(如 small、medium,生产环境建议自定义 resources) | "" |
resources.requests.cpu | CPU 请求 | 100m |
resources.requests.memory | 内存请求 | 256Mi |
resources.limits.cpu | CPU 限制 | 500m |
resources.limits.memory | 内存限制 | 256Mi |
metrics.enabled | 是否启用 Prometheus 指标导出 | false |
cluster.externalAccess.enabled | 是否允许集群外部访问(需配合 Load*** 服务) | false |
默认集群仅允许 Kubernetes 集群内访问,如需外部访问(如本地 valkey-cli 连接):
helm install my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster \ --set cluster.externalAccess.enabled=true \ --set cluster.externalAccess.service.type=Load***
kubectl get svc -l app.kubernetes.io/instance=my-release
cluster.externalAccess.service.load***IP 数组:helm upgrade my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster \ --set cluster.externalAccess.enabled=true \ --set cluster.externalAccess.service.load***IP[0]=<ip-0> \ --set cluster.externalAccess.service.load***IP[1]=<ip-1> \ --set cluster.externalAccess.service.load***IP[2]=<ip-2> \ --set cluster.externalAccess.service.load***IP[3]=<ip-3> \ --set cluster.externalAccess.service.load***IP[4]=<ip-4> \ --set cluster.externalAccess.service.load***IP[5]=<ip-5> \ --set cluster.init=false
cluster.nodes 并指定密码:helm upgrade --timeout 600s my-release \ --set password=${VALKEY_PASSWORD} \ --set cluster.nodes=9 \ --set cluster.update.addNodes=true \ --set cluster.update.currentNumberOfNodes=6 \ oci://registry-1.docker.io/bitnamicharts/valkey-cluster
说明:
cluster.update.currentNumberOfNodes为当前节点数,cluster.update.addNodes=true触发添加节点的 Job。
cluster.replicas:helm upgrade --timeout 600s my-release \ --set password=${VALKEY_PASSWORD} \ --set cluster.nodes=6 \ --set cluster.init=false \ oci://registry-1.docker.io/bitnamicharts/valkey-cluster
CLUSTER FORGET 命令移除失效节点 ID:# 获取失效节点 ID valkey-cli -a $VALKEY_PASSWORD CLUSTER NODES | grep fail # 在每个节点执行(替换 NODE_ID) valkey-cli -a $VALKEY_PASSWORD CLUSTER FORGET <NODE_ID>
启用 metrics 采集并集成 Prometheus:
helm install my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster \ --set metrics.enabled=true \ --set metrics.serviceMonitor.enabled=true # 如需 Prometheus Operator 集成
prometheus.io/scrape: "true" 注解,支持 Prometheus 自动发现password 时,密码存储在 Secret <release-name>-valkey-cluster 中,可通过以下命令获取:kubectl get secret my-release-valkey-cluster -o jsonpath="{.data.password}" | base64 -d
--set password=xxx 设置,或通过 existingSecret 引用现有 Secret。kubectl create secret generic valkey-tls --from-file=cert.pem --from-file=key.pem --from-file=ca.pem
helm install my-release oci://registry-1.docker.io/bitnamicharts/valkey-cluster \ --set tls.enabled=true \ --set tls.existingSecret=valkey-tls \ --set tls.certFilename=cert.pem \ --set tls.certKeyFilename=key.pem \ --set tls.certCAFilename=ca.pem
/bitnami 目录(含 nodes.conf 和数据),避免节点重启后集群元数据丢失。persistence.enabled=false,此时使用 emptyDir 存储(节点重启后集群信息丢失,可能导致节点脱离集群)。Valkey Cluster 数据备份需通过 Velero 工具备份 PersistentVolume:
velero backup create valkey-backup --include-resources=pvc,pv --selector app.kubernetes.io/instance=my-release
velero restore create --from-backup valkey-backup
Valkey 可能需要调整主机内核参数以优化性能:
通过 initContainer 配置(推荐生产环境):
sysctlImage: enabled: true mountHostSys: true command: - /bin/sh - -c - |- sysctl -w net.core.somaxconn=10000 echo never > /host-sys/kernel/mm/transparent_hugepage/enabled
或通过 podSecurityContext.sysctls(Kubernetes 1.12+):
podSecurityContext: sysctls: - name: net.core.somaxconn value: "10000"
docker.io/bitnamilegacy,不再更新,生产环境建议迁移至 Bitnami Secure Images。7.2.4-debian-11-r0),避免镜像更新导致部署变更。resources,避免使用 resourcesPreset(可能无法适配实际需求)。cluster.replicas,避免同时移除主节点及其所有副本。免费版仅支持 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 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429