OT-CONTAINER-KIT / redis-operator

A golang based redis operator that will make/oversee Redis standalone/cluster/replication/sentinel mode setup on top of the Kubernetes.
https://ot-redis-operator.netlify.app/
Apache License 2.0
752 stars 209 forks source link

Redis cluster not working with set password by redisSecret or acl option #720

Open arezvani opened 7 months ago

arezvani commented 7 months ago

Hi, I have this manifest:

apiVersion: redis.redis.opstreelabs.in/v1beta2
kind: RedisCluster
metadata:
  name: redis-cluster
spec:
  clusterSize: 3
  clusterVersion: v7
  podSecurityContext:
    runAsUser: 1000
    fsGroup: 1000
  persistenceEnabled: true
  kubernetesConfig:
    image: quay.io/opstree/redis:v7.0.12
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 1
        memory: 2G
    redisSecret:
      name: redis-secret
      key: password
  acl:
    secret:
      secretName: acl-secret
  redisExporter:
    enabled: true
    image: quay.io/opstree/redis-exporter:v1.44.0
    resources:
      requests:
        cpu: 100m
        memory: 128Mi
      limits:
        cpu: 100m
        memory: 128Mi
    env:
    - name: REDIS_USER
      value: default
    - name: REDIS_PASSWORD
      valueFrom:
        secretKeyRef:
          key: password
          name: redis-secret
  redisLeader:
    livenessProbe:
      failureThreshold: 3
      initialDelaySeconds: 1
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    readinessProbe:
      failureThreshold: 3
      initialDelaySeconds: 1
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 100
          podAffinityTerm:
            labelSelector:
              matchExpressions:
                - key: app
                  operator: In
                  values:
                    - redis-cluster-follower
                    - redis-cluster-leader
            topologyKey: "kubernetes.io/hostname"
    redisConfig:
      additionalRedisConfig: redis-external-config
  redisFollower:
    livenessProbe:
      failureThreshold: 3
      initialDelaySeconds: 1
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    readinessProbe:
      failureThreshold: 3
      initialDelaySeconds: 1
      periodSeconds: 10
      successThreshold: 1
      timeoutSeconds: 1
    affinity:
      podAntiAffinity:
        preferredDuringSchedulingIgnoredDuringExecution:
        - weight: 100
          podAffinityTerm:
            labelSelector:
              matchExpressions:
                - key: app
                  operator: In
                  values:
                    - redis-cluster-follower
                    - redis-cluster-leader
            topologyKey: "kubernetes.io/hostname"
    redisConfig:
      additionalRedisConfig: redis-external-config
  storage:
    nodeConfVolume: true
    volumeClaimTemplate:
      spec:
        storageClassName: rbd-hdd-r
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 1Gi
    nodeConfVolumeClaimTemplate:
      spec:
        storageClassName: rbd-hdd-r
        accessModes: ["ReadWriteOnce"]
        resources:
          requests:
            storage: 128Mi

Redis cluster not working with set password by redisSecret or acl option. If I delete redisSecret not work but if I delete redisSecret and acl fields together, it works.

shubham-cmyk commented 7 months ago

Can you explain what you have done. i have put the test here it works perfectly.