如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务