You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes部署中Redis 6.2用户名配置问题排查求助

解决Redis MemoryDB 6.2在Kubernetes部署中配置用户名出现WRONGPASS认证错误的问题

报错信息:

redis connection tls true
Redis connection established
adapter listening on [::]:9123
adapter listening on [::]:9122
LTE / UDP forward with port : 35115
LTE / UDP forward with port : 44801
MQTT connection established
WRONGPASS invalid username-password pair or user is disabled.
panic: WRONGPASS invalid username-password pair or user is disabled.

排查与解决步骤

1. 确认MemoryDB用户状态与权限

  • 登录AWS控制台进入目标MemoryDB集群,检查配置的用户名是否处于启用状态,未被禁用
  • 验证该用户关联的ACL规则是否包含连接权限(需确保ACL规则包含on指令,且允许访问所需键空间)
  • 用redis-cli直接连接集群测试认证,排除MemoryDB端配置问题:
    redis-cli -h <memorydb-endpoint> -p 6379 --tls -u redis://<username>:<password>@<memorydb-endpoint>:6379
    
    若此命令报错,优先在MemoryDB控制台修正用户名/密码或ACL规则。

2. 核对Kubernetes配置的准确性

  • 确认ConfigMap/Secret中存储的用户名、密码与MemoryDB端完全一致,注意大小写、特殊字符转义,比如密码中的$、\需在K8s配置中正确处理
  • 若使用Secret存储敏感信息,检查Pod是否正确挂载Secret,且环境变量/配置文件读取的是Secret内的正确键值
  • 进入Pod内部查看实际加载的配置内容,核对用户名密码:
    kubectl exec -it <pod-name> -- cat /path/to/your/redis/config
    

3. 验证客户端连接方式兼容性

  • Redis 6.2依赖ACL系统实现用户名认证,确保客户端代码使用支持用户名的连接逻辑,而非仅传递密码
  • 检查连接字符串是否包含用户名参数,示例:
    redis://<username>:<password>@<memorydb-host>:6379?ssl=true
    
    避免遗漏用户名仅传递密码的情况。

4. 确认网络与命令权限

  • 尽管日志显示连接建立,仍需验证Pod能否正常执行ACL相关命令,在Pod内执行:
    redis-cli -h <memorydb-endpoint> -p 6379 --tls auth <username> <password>
    
    若返回错误,排查VPC安全组、K8s网络策略是否限制了Redis命令传输。

5. 重启Pod加载最新配置

  • 修改ConfigMap后K8s不会自动重启Pod,需手动触发部署重启以加载更新后的配置:
    kubectl rollout restart deployment <deployment-name>
    

内容的提问来源于stack exchange,提问作者ahmtcnsvr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 02:05:19