使用没有 select 的 kubernetes svc 访问外部 redis 服务器。如何确保我的 pod 只命中 master?

Using kubernetes svc without select to access external redis server. How to ensure my pod hits master only?

我正在使用带有自定义端点的 Kubernetes 服务来访问外部 redis 集群。

但我不知道哪个是 master,我想确保它只转发传入连接以到达 master。

Kubernetes 中有什么东西可以用来检查节点和获取主节点吗?

这是一段来自 haproxy 的代码,可以完成我需要的工作

backend redis .... 
tcp-check send info\ replication\r\n 
tcp-check expect string role:master ...

如果我没理解错的话,你正在寻找一个原生的 k8s 解决方案来检测哪些外部 redis 节点是主节点并将流量指向它们。

我的回答是:原生没办法。

您需要使用一些自定义解决方案(例如您的 haproxy)来实现它。