Grafana LokiのCacheとしてRedisを使い始めた。 Redisは、OT-CONTAINER-KIT/redis-operator を使ってRedis Clusterとして構築した。
あとはLokiのcache_config.redisにエンドポイントを指定すればOK。
しかし、動かしてみるとlevel=error ts=2025-08-28T05:14:45.142390145Z caller=redis_cache.go:41 msg="failed to get from redis" name=chunksredis err="MOVED 10126 10.0.1.195:6379"みたいなエラーがたくさん出ている。てっきり勝手に別のノードにリダイレクトしてくれるものだと思っていたが、うまく動いていなさそう。
いろいろ調べてみると、MOVED Error from Redis Cluster(AWS Elasticache) in redis-go という記事が見つかった。
どうやら、go-redisのNewUniversalClientでは、Addrsに2つ以上のエンドポイントを渡さないとCluster Modeとして動作しないらしい。今回私はredis-operatorによって作られた<RedisCluster Name>-leaderというservice(3つのleader podに向いている)単体をエンドポイントとして指定していたので、Single Node Modeとして動作してしまっていたようだ。
とりあえず参考記事にもあるように、全く同じエンドポイントを2つ書くことでエラーは解消された。