redis-operator
redis-operator copied to clipboard
ClusterSize Parameter does not work
What version of redis operator are you using?
kubectl logs <_redis-operator_pod_name> -n <namespace>
{"level":"info","ts":1712133634.5022123,"logger":"controllers.RedisCluster","msg":"Reconciling opstree redis Cluster controller","Request.Namespace":"default","Request.Name":"redis-cluster"}
{"level":"info","ts":1712133634.529096,"logger":"controller_redis","msg":"Redis PodDisruptionBudget get action failed","Request.PodDisruptionBudget.Namespace":"default","Request.PodDisruptionBudget.Name":"redis-cluster-leader"}
{"level":"info","ts":1712133634.5774622,"logger":"controller_redis","msg":"Redis PodDisruptionBudget get action failed","Request.PodDisruptionBudget.Namespace":"default","Request.PodDisruptionBudget.Name":"redis-cluster-follower"}
{"level":"info","ts":1712133634.5798914,"logger":"controllers.RedisCluster","msg":"Creating redis cluster by executing cluster creation commands","Request.Namespace":"default","Request.Name":"redis-cluster","Leaders.Ready":"3","Followers.Ready":"3"}
{"level":"info","ts":1712133634.5862124,"logger":"controllers.RedisCluster","msg":"All leader are part of the cluster, adding follower/replicas","Request.Namespace":"default","Request.Name":"redis-cluster","Leaders.Count":3,"Instance.Size":3,"Follower.Replicas":3}
{"level":"error","ts":1712133640.6056287,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-0.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-0.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379)\nM: dbc39bcbc31843cddd7438fb9f886f7bad4e3ddf redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379\n slots:[0-5460] (5461 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.235:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.236:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":1712133646.7414541,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-1.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-1.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379)\nM: 991fd770f85249f07b8a6d2a18ee60d2884ea8fa redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379\n slots:[5461-10922] (5462 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.236:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.234:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":1712133652.8875878,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-2.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-2.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379)\nM: 36a22882bba992b881a56876b7609dc33477cb37 redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379\n slots:[10923-16383] (5461 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.235:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.234:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"info","ts":1712133652.8951461,"logger":"controllers.RedisCluster","msg":"Will reconcile redis cluster operator in again 10 seconds","Request.Namespace":"default","Request.Name":"redis-cluster"}
{"level":"error","ts":1712133652.906935,"logger":"controller_redis","msg":"Failed to update status","Request.Namespace":"default","Request.Name":"redis-cluster","error":"Operation cannot be fulfilled on redisclusters.redis.redis.opstreelabs.in \"redis-cluster\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:221\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":1712133652.9070776,"logger":"controller.rediscluster","msg":"Reconciler error","reconciler group":"redis.redis.opstreelabs.in","reconciler kind":"RedisCluster","name":"redis-cluster","namespace":"default","error":"Operation cannot be fulfilled on redisclusters.redis.redis.opstreelabs.in \"redis-cluster\": the object has been modified; please apply your changes to the latest version and try again","stacktrace":"sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"info","ts":1712133652.9071612,"logger":"controllers.RedisCluster","msg":"Reconciling opstree redis Cluster controller","Request.Namespace":"default","Request.Name":"redis-cluster"}
{"level":"info","ts":1712133652.9334755,"logger":"controller_redis","msg":"Redis PodDisruptionBudget get action failed","Request.PodDisruptionBudget.Namespace":"default","Request.PodDisruptionBudget.Name":"redis-cluster-leader"}
{"level":"info","ts":1712133652.9495625,"logger":"controller_redis","msg":"Redis PodDisruptionBudget get action failed","Request.PodDisruptionBudget.Namespace":"default","Request.PodDisruptionBudget.Name":"redis-cluster-follower"}
{"level":"info","ts":1712133652.9511926,"logger":"controllers.RedisCluster","msg":"Creating redis cluster by executing cluster creation commands","Request.Namespace":"default","Request.Name":"redis-cluster","Leaders.Ready":"3","Followers.Ready":"3"}
{"level":"info","ts":1712133652.9745848,"logger":"controllers.RedisCluster","msg":"All leader are part of the cluster, adding follower/replicas","Request.Namespace":"default","Request.Name":"redis-cluster","Leaders.Count":3,"Instance.Size":3,"Follower.Replicas":3}
{"level":"error","ts":1712133659.0275304,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-0.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-0.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379)\nM: dbc39bcbc31843cddd7438fb9f886f7bad4e3ddf redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379\n slots:[0-5460] (5461 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.235:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.236:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":1712133665.192103,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-1.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-1.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379)\nM: 991fd770f85249f07b8a6d2a18ee60d2884ea8fa redis-cluster-leader-1.redis-cluster-leader-headless.default.svc:6379\n slots:[5461-10922] (5462 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.236:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.234:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"error","ts":1712133671.3250766,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-2.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-2.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379)\nM: 36a22882bba992b881a56876b7609dc33477cb37 redis-cluster-leader-2.redis-cluster-leader-headless.default.svc:6379\n slots:[10923-16383] (5461 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.235:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.234:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
{"level":"info","ts":1712133671.341761,"logger":"controllers.RedisCluster","msg":"Will reconcile redis cluster operator in again 10 seconds","Request.Namespace":"default","Request.Name":"redis-cluster"}
{"level":"info","ts":1712133671.3742952,"logger":"controllers.RedisCluster","msg":"Reconciling opstree redis Cluster controller","Request.Namespace":"default","Request.Name":"redis-cluster"}
{"level":"info","ts":1712133671.412522,"logger":"controller_redis","msg":"Redis PodDisruptionBudget get action failed","Request.PodDisruptionBudget.Namespace":"default","Request.PodDisruptionBudget.Name":"redis-cluster-leader"}
{"level":"info","ts":1712133671.434149,"logger":"controller_redis","msg":"Redis PodDisruptionBudget get action failed","Request.PodDisruptionBudget.Namespace":"default","Request.PodDisruptionBudget.Name":"redis-cluster-follower"}
{"level":"info","ts":1712133671.436379,"logger":"controllers.RedisCluster","msg":"Creating redis cluster by executing cluster creation commands","Request.Namespace":"default","Request.Name":"redis-cluster","Leaders.Ready":"3","Followers.Ready":"3"}
{"level":"info","ts":1712133671.4738774,"logger":"controllers.RedisCluster","msg":"All leader are part of the cluster, adding follower/replicas","Request.Namespace":"default","Request.Name":"redis-cluster","Leaders.Count":3,"Instance.Size":3,"Follower.Replicas":3}
{"level":"error","ts":1712133677.4801137,"logger":"controller_redis","msg":"Could not execute command","Request.RedisManager.Namespace":"default","Request.RedisManager.Name":"redis-cluster","Command":["redis-cli","--cluster","add-node","redis-cluster-follower-0.redis-cluster-follower-headless.default.svc:6379","redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379","--cluster-slave"],"Output":">>> Adding node redis-cluster-follower-0.redis-cluster-follower-headless.default.svc:6379 to cluster redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379\n>>> Performing Cluster Check (using node redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379)\nM: dbc39bcbc31843cddd7438fb9f886f7bad4e3ddf redis-cluster-leader-0.redis-cluster-leader-headless.default.svc:6379\n slots:[0-5460] (5461 slots) master\n[OK] All nodes agree about slots configuration.\n>>> Check for open slots...\n>>> Check slots coverage...\n[ERR] Not all 16384 slots are covered by nodes.\n\n","Error":"Could not connect to Redis at 10.1.0.235:6379: Host is unreachable\nCould not connect to Redis at 10.1.0.236:6379: Host is unreachable\n","error":"command terminated with exit code 1","stacktrace":"github.com/OT-CONTAINER-KIT/redis-operator/k8sutils.ExecuteRedisReplicationCommand\n\t/workspace/k8sutils/redis.go:187\ngithub.com/OT-CONTAINER-KIT/redis-operator/controllers.(*RedisClusterReconciler).Reconcile\n\t/workspace/controllers/rediscluster_controller.go:196\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:114\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:311\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:266\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/[email protected]/pkg/internal/controller/controller.go:227"}
redis-operator version: redis-operator-0.15.9
Does this issue reproduce with the latest release? This is the latest helm chart I could get
What operating system and processor architecture are you using (kubectl version
)?
kubectl version
Output
$ kubectl version Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:20:07Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"darwin/arm64"} Kustomize Version: v5.0.1 Server Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:13:28Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"linux/arm64"}
What did you do?
-
helm upgrade redis-operator ot-helm/redis-operator --install
-
helm upgrade redis-cluster ot-helm/redis-cluster --set redisCluster.clusterSize=1 --install
What did you expect to see? A cluster with one leader and one failover node
What did you see instead? A cluster with three leader and three failover nodes
I think 'clusterSize' should be the same value as 'leader.replicas' + 'follower.replicas'.
'RedisCluster' doesn't mean "a set" of Redis cluster. This means one member, as a 'Custom Resource' in itself called the 'RedisCluster'.
Try clusterSize=6.
and as you already know, redis cluster 'one set' configuration requires at least three master leaders.
Thanks for the reply @wkd-woo. I cannot confirm that clusterSize is equal to leader.replicas
+ follower.replicas
. It does not matter if I configure it to 1, 3 or 6, it always remains 3 leaders and 3 followers.
According to different information sources like this it should work like I expected which is when I set ClusterSize to 5 having 5 leader and 5 follower nodes. But it does not :) ...
@iamNoah1 Oh, I understand your situation. I've been wandering around with the same problem before.
I'll give you the test manifest I'm using. I recommend override the .yaml file with '-f' rather than 'set'
helm install redis-cluster helm/chart/redis-cluster -f values.yaml
---
redisCluster:
name: ""
clusterSize: 6
clusterVersion: v7
persistenceEnabled: false
image: quay.io/opstree/redis
tag: v7.0.12
imagePullPolicy: IfNotPresent
imagePullSecrets: {}
redisSecret:
secretName: ""
secretKey: ""
resources:
limits:
cpu: 101m
memory: 512Mi
leader:
replicas: 3
serviceType: ClusterIP
affinity:
tolerations: []
nodeSelector:
kubernetes.io/os: linux
dbservice: redis
topology: cluster
securityContext: {}
pdb:
enabled: false
maxUnavailable: 1
minAvailable: 1
follower:
replicas: 3
serviceType: ClusterIP
affinity:
tolerations: []
nodeSelector:
dbservice: redis
topology: cluster
securityContext: {}
pdb:
enabled: false
maxUnavailable: 1
minAvailable: 1
labels:
topology: cluster
dbservice: redis
externalConfig:
enabled: true
data: |
#### YOUR CONFIGURATION FOR REDIS ####
externalService:
enabled: true
# annotations:
# foo: bar
serviceType: NodePort
port: 6379
serviceMonitor:
enabled: false
interval: 30s
scrapeTimeout: 10s
namespace: monitoring
redisExporter:
enabled: true
image: quay.io/opstree/redis-exporter
tag: v1.44.0
imagePullPolicy: IfNotPresent
resources:
limits:
cpu: 100m
memory: 128Mi
env: []
sidecars:
name: ""
image: ""
imagePullPolicy: "IfNotPresent"
resources:
limits:
cpu: "100m"
memory: "128Mi"
requests:
cpu: "50m"
memory: "64Mi"
env: {}
initContainer:
enabled: false
image: ""
imagePullPolicy: "IfNotPresent"
resources: {}
env: []
command: []
args: []
priorityClassName: ""
storageSpec:
volumeClaimTemplate:
spec:
# storageClassName: local-storage
storageClassName: csi-cinder-sc-delete
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
# selector:
# matchLabels:
# dbservice: redis
# topology: cluster
nodeConfVolume: true
nodeConfVolumeClaimTemplate:
spec:
# storageClassName: local-storage
storageClassName: csi-cinder-sc-delete
accessModes: ["ReadWriteOnce"]
resources:
requests:
storage: 10Gi
# selector:
# matchLabels:
# dbservice: redis
# topology: cluster
podSecurityContext:
runAsUser: 1000
fsGroup: 1000
TLS:
ca: ca.key
cert: tls.crt
key: tls.key
secret:
secretName: ""
acl:
secret:
secretName: ""
#env:
serviceAccountName: "redis-operator"