ruby - 在 kubernetes 上使用 sentinel 连接到 redis 集群

标签 ruby redis kubernetes redis-sentinel

我已经使用此处的指南成功设置了一个受密码保护的 redis 集群:

http://kubernetes.io/v1.1/examples/redis/

我可以使用 redis-cli 连接到哨兵,但我无法连接到 redis 主/从,即使我已经暴露了哨兵。

我正在使用 ruby​​ 和以下连接字符串。我做错了吗?

SENTINELS = [{host: "104.122.24.897", port: 26379}]

redis = Redis.new(url: "redis://mymaster", sentinels: SENTINELS, :role => :master, password: "longasspassword", timeout: 16)

我得到的错误是:

Error connecting to Redis on 10.64.7.33:6379 (Redis::TimeoutError) (Redis::CannotConnectError)`

最佳答案

我最终决定使用 helm ( https://helm.sh/ ) 并使用 helm install redis-cluster 安装 redis-cluster。

我可以在 kubernetes 中使用 cluster_ip(不是外部 ip)连接到 redis 集群,这满足了我的安全要求。 redis sentinel 使用这种方法开箱即用。

关于ruby - 在 kubernetes 上使用 sentinel 连接到 redis 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35368067/

相关文章:

css - 将学区 Logo 与 URL 学区 ID 相匹配

ruby - 如何将 block 传递给 `instance_eval` -ed block ?

kubernetes - 在 Kubernetes/Openshift 中将客户端-服务器流量保持在同一区域的最佳方法?

kubernetes - 如何使用Kubernetes处理周期性的短期任务

kubernetes - kubernetes pod 中的磁盘使用情况

ruby - 为什么从类中调用setter方法时可以更改方法名称?

html - 如何使用 Watir 直接从文件读取(解析)html?

ruby - Redis:如何在 ruby​​ 客户端中以编程方式加载 dump.rdb

laravel - 尽管加载了扩展程序,但仍出现 'Please make sure the PHP Redis extension is installed and enabled.' 错误

kubernetes - 避免在服务中保留不必要的 NodePort