Redis adapter that talks a redis sentinel cluster

#1

Hi,
I have installed the latest stable chart for redis-ha, which makes three redis servers out of the box. One is a master, and the other two are slaves. The service that comes with redis-ha exposes the redis port 6379 (tcp) and 26379 (tcp). 26379 is the sentinel port of redis.

If I connect to the redis port 6379, sometimes I connect to a slave, and I receive errors in istio-policy that I can’t modify a read only replica when executing the LUA script to trace rate limiting.

If I connect to the sentinel port, sentinel doesn’t understand the LUA scripts that are loaded into it, so that’s not going to work.

unable to initialized redis service: ERR unknown command script, with args beginning with: load, local key_meta = KEYS[1] local key_data = KEYS[2] local credit = tonumber(ARGV[1]) local windowLength = tonumber(ARGV[, ‘’.

I’m looking for help on whether istio has plans to support the sentinel service for redis, where the client can lookup the IP of the master when creating the redis-adapter for redisquotas. Does it already support this somehow? I don’t think so, but I figured I would start here with my questions.

0 Likes

#2

I think something like this would work:

We could pass in the master group name and the sentinels’ service and port, and I think this client takes care of the master lookups and failovers under the hood.

0 Likes