in the /etc/redis/redis.conf i have it bind to the enp1s0f1 interface like so in the 3 nodes
bind 172.19.101.2x
i then create the redis cluster like so
redis-cli --cluster create 172.19.101.23:6379 172.19.101.24:6379 172.19.101.25:6379the cluster gets created ok and cluster info also reports OK
but when i do cluster nodes it reports the management ip instead of the internal ip just for 1 node like so.
administrator@slave-node2:~$ redis-cli -h 172.19.101.24 cluster nodes
33c4484ca50aa7916b8727723f4eb5576c7b94ab 172.19.101.25:6379@16379 master - 0 1623764502745 4 connected 10923-16383
e099188cb0ae8bcc32ca7d81f0c8659a2b4ebb7b **10.110.3.166**:6379@16379 myself,master - 0 1623764500000 3 connected 5461-10922
3afa9cb15e166254a9f5182ba1b0df46137f954b 172.19.101.23:6379@16379 master - 0 1623764501741 2 connected 0-5460
So now when clients connect to this redis cluster they get this error - `Can't connect to master: redis://10.110.3.166:6379 with slot ranges: [[5461-10922]]`
BTW if i do redis-cli cluster nodes by connecting to other node in the cluster it reports ok like so
administrator@slave-node2:~$ redis-cli -h 172.19.101.25 cluster nodes
e099188cb0ae8bcc32ca7d81f0c8659a2b4ebb7b 172.19.101.24:6379@16379 master - 0 1623765101198 3 connected 5461-10922
3afa9cb15e166254a9f5182ba1b0df46137f954b 172.19.101.23:6379@16379 master - 0 1623765100194 2 connected 0-5460
33c4484ca50aa7916b8727723f4eb5576c7b94ab 172.19.101.25:6379@16379 myself,master - 0 1623765099000 4 connected 10923-16383
So question is
why redis picking the management ip for this node ? is there anyway to restrict it to required ip / interface ? is there a way to change it in the cluster nodes ? thanks for any pointers to this..
Comment From: huangzhw
You can reference https://github.com/redis/redis/blob/c7e502a07bdeec29c2be41da70b483b2156d36db/redis.conf#L1516