
redis-sentinel-proxy是一个轻量级命令行工具,旨在解决Redis集群中主节点动态变化的访问问题。它通过定期查询Redis Sentinel服务器,自动获取指定主节点组的当前主节点地址,并将所有接收到的TCP请求转发至该主节点,使客户端无需直接感知主节点变化即可持续访问Redis服务。
适用于采用Redis Sentinel进行主从复制和故障转移的Redis集群环境。当主节点发生故障并由Sentinel自动切换后,客户端可通过该代理工具继续访问新主节点,无需手动更新配置。尤其适合无法直接处理Sentinel协议的客户端或需要简化Redis访问配置的场景。
支持通过环境变量或命令行参数进行配置,参数说明如下:
| 环境变量 | 描述 | 是否必填 | 默认值 |
|---|---|---|---|
| LISTEN | 代理绑定的IP和端口(格式:IP:PORT) | 否 | :9999 |
| SENTINEL | Redis Sentinel服务器地址(或地址列表)和端口 | 否 | :26379 |
| MASTER | 主节点组名称 | 否 | mymaster |
| PASSWORD | 用于Sentinel认证的密码 | 否 | -(不启用认证) |
| DEBUG | 是否开启调试输出(true/false) | 否 | false |
| TIMEOUTMS | Sentinel和主节点连接超时时间(毫秒) | 否 | 2000 |
| CHECKMS | 轮询Sentinel检查主节点变化的时间间隔(毫秒) | 否 | 250 |
步骤1:编辑部署配置文件
修改Kubernetes部署清单,配置主节点组名称和Sentinel地址:
bashvim kubernetes/redis-sentinel-proxy-deployment.yaml ... args: - "-master" - "primary" # 指定主节点组名称(替换为实际名称) - "-sentinel" - "redis-sentinel.$(NAMESPACE):26379" # 替换为实际Sentinel服务地址
步骤2:应用部署配置
使用kubectl创建或更新deployment资源:
bashkubectl apply -f kubernetes/redis-sentinel-proxy-deployment.yaml deployment "redis-sentinel-proxy" configured
步骤3:检查部署状态
确认代理Pod正常运行:
bashkubectl get pods redis-sentinel-proxy-2064359825-s4n0k 1/1 Running 0 1d
步骤4:暴露代理服务
通过Service资源暴露代理,使客户端可访问:
bashkubectl apply -f kubernetes/redis-sentinel-proxy-service.yaml
工具支持通过命令行参数直接配置,基础格式如下:
bash./redis-sentinel-proxy -listen IP:PORT -sentinel :SENTINEL_PORT -master NAME
注:命令行参数与环境变量功能对应,具体优先级以工具实现为准(通常命令行参数优先级更高)。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务