Unable to configure Redis Sentinel or Redis Cluster with official Helm, standalone Redis works fine

Nextcloud version (eg, 20.0.5): 28.0.1
Operating system and version (eg, Ubuntu 20.04): K3s on Ubuntu
Apache or nginx version (eg, Apache 2.4.25): No idea
PHP version (eg, 7.4): 8.2.13

The issue you are facing:
Using the official Helm chart I am able to configure Redis in standalone mode with the following values:

values:
    image:
      repository: nextcloud
      pullPolicy: IfNotPresent
    replicaCount: 1

    ingress:
      enabled: false

    phpClientHttpsFix:
      enabled: false
      protocol: https

    nextcloud:
      host: nextcloud.domain.com
      existingSecret:
        enabled: true
        secretName: nextcloud-secret
        usernameKey: adminusername
        passwordKey: adminpassword
        smtpUsernameKey: smtp_username
        smtpPasswordKey: smtp_password
        smtpHostKey: smtp_host
      update: 0
      containerPort: 80
      datadir: /var/www/html/data
      persistence:
        subPath:
      mail:
        enabled: true
        fromAddress: nextcloud
        domain: gmail.com
        smtp:
          host: smtp.gmail.com
          secure: ssl
          port: 465
          authtype: LOGIN
      defaultConfigs:
        .htaccess: true
        redis.config.php: false
        apache-pretty-urls.config.php: true
        apcu.config.php: true
        apps.config.php: true
        autoconfig.php: true
        smtp.config.php: true

      configs:

        custom.config.php: |-
          <?php
          $CONFIG = array (
            'overwritehost' => 'nextcloud.domain.com',
            'overwriteprotocol' => 'https',
            'overwrite.cli.url' => 'https://nextcloud.domain.com',
            'filelocking.enabled' => 'true',
            'loglevel' => '0',
            'enable_previews' => true,
            'trusted_domains' =>
              [
                'nextcloud',
                'nextcloud.domain.com'
              ],
            'trusted_proxies' => ['10.0.0.0/8'],
            'default_phone_region' => 'nz',
          );

        redis.config.php: |-
          <?php
          $CONFIG = array (
            'memcache.distributed' => '\OC\Memcache\Redis',
            'memcache.locking' => '\OC\Memcache\Redis',
            'redis' => array(
              'host' => 'redis-master',
              'port' => 6379,
              'password' => getenv('REDIS_HOST_PASSWORD'),
            )
          );

      extraEnv:
      - name: REDIS_HOST_PASSWORD
        valueFrom:
          secretKeyRef:
            name: redis
            key: redis-password

      extraVolumes:
       - name: shared
         nfs:
          server: storage
          path: /mnt/Volume01/Shared
      extraVolumeMounts:
       - name: shared
         mountPath: "/shared"

    nginx:
      enabled: false
    
    internalDatabase:
      enabled: false

    externalDatabase:
      enabled: true

      type: postgresql

      host: postgres-service:5432

      database: postgres

      existingSecret:
        enabled: true
        secretName: nextcloud-secret
        usernameKey: db-username
        passwordKey: db-password

    mariadb:
      enabled: false

    postgresql:
      enabled: false

    redis:
      enabled: false

    cronjob:
      enabled: true
      resources:
        limits:
          memory: 100Mi
        requests:
         cpu: 50m
         memory: 100Mi

    service:
      type: ClusterIP
      port: 80

    persistence:
      enabled: true
      storageClass: "rook-cephfs"
      accessMode: ReadWriteMany
      size: 8Gi
      nextcloudData:
        enabled: true
        subPath:
        annotations: {}
        storageClass: "managed-nfs-storage"
        accessMode: ReadWriteMany
        size: 10Gi

    resources: 
      limits:
        memory: 500Mi
      requests:
       cpu: 500m
       memory: 500Mi

    livenessProbe:
      enabled: true
      initialDelaySeconds: 10
      periodSeconds: 20
      timeoutSeconds: 5
      failureThreshold: 3
      successThreshold: 1
    readinessProbe:
      enabled: true
      initialDelaySeconds: 10
      periodSeconds: 10
      timeoutSeconds: 5
      failureThreshold: 3
      successThreshold: 1
    startupProbe:
      enabled: true
      initialDelaySeconds: 30
      periodSeconds: 10
      timeoutSeconds: 5
      failureThreshold: 600
      successThreshold: 1

    hpa:
      enabled: false
      cputhreshold: 60
      minPods: 1
      maxPods: 10

    affinity: 
      nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - weight: 50
            preference:
              matchExpressions:
              - key: kubernetes.io/arch
                operator: In
                values:
                - amd64
      podAntiAffinity:                                 
        requiredDuringSchedulingIgnoredDuringExecution:
        - topologyKey: kubernetes.io/hostname     
          labelSelector:                               
            matchLabels:                               
              app.kubernetes.io/name: nextcloud

    metrics:
      enabled: false

When when I setup Redis with sentinel using the Bitnami Redis helm chart and the following values in the redis.config.php section:

        redis.config.php: |-
          <?php
          $CONFIG = array (
            'memcache.distributed' => '\OC\Memcache\Redis',
            'memcache.locking' => '\OC\Memcache\Redis',
            'redis' => array(
              'host' => 'redis',
              'port' => 26379,
              'password' => getenv('REDIS_HOST_PASSWORD'),
            )
          );

(only host and port changes)

I get the following errors in the logs and I am usually unable to see any files in the webUI, or unable to login:

{
    "reqId": "u8DnzkBqQMKciPMlK8MJ",
    "level": 0,
    "time": "2023-12-26T07:51:16+00:00",
    "remoteAddr": "192.168.50.191",
    "user": "username",
    "app": "webdav",
    "method": "GET",
    "url": "/remote.php/dav/files/username/Shared%20Pictures/Unedited/DSC_5844.JPG",
    "message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",
    "version": "28.0.1.1",
    "exception": {
        "Exception": "OCA\\DAV\\Connector\\Sabre\\Exception\\FileLocked",
        "Message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
        "Code": 0,
        "Trace": [
            {
                "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                "line": 501,
                "function": "convertToSabreException",
                "class": "OCA\\DAV\\Connector\\Sabre\\File",
                "type": "->",
                "args": [
                    [
                        "OCP\\Lock\\LockedException"
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                "line": 85,
                "function": "get",
                "class": "OCA\\DAV\\Connector\\Sabre\\File",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                "line": 89,
                "function": "httpGet",
                "class": "Sabre\\DAV\\CorePlugin",
                "type": "->",
                "args": [
                    [
                        "Sabre\\HTTP\\Request"
                    ],
                    [
                        "Sabre\\HTTP\\Response"
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 472,
                "function": "emit",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    "method:GET",
                    [
                        [
                            "Sabre\\HTTP\\Request"
                        ],
                        [
                            "Sabre\\HTTP\\Response"
                        ]
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 253,
                "function": "invokeMethod",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": [
                    [
                        "Sabre\\HTTP\\Request"
                    ],
                    [
                        "Sabre\\HTTP\\Response"
                    ]
                ]
            },
            {
                "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                "line": 321,
                "function": "start",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/apps/dav/lib/Server.php",
                "line": 370,
                "function": "exec",
                "class": "Sabre\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                "line": 35,
                "function": "exec",
                "class": "OCA\\DAV\\Server",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/remote.php",
                "line": 172,
                "args": [
                    "/var/www/html/apps/dav/appinfo/v2/remote.php"
                ],
                "function": "require_once"
            }
        ],
        "File": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
        "Line": 752,
        "Previous": {
            "Exception": "OCP\\Lock\\LockedException",
            "Message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
            "Code": 0,
            "Trace": [
                {
                    "file": "/var/www/html/lib/private/Files/View.php",
                    "line": 2048,
                    "function": "lockPath",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "/Shared Pictures/Unedited/DSC_5844.JPG",
                        1,
                        false
                    ]
                },
                {
                    "file": "/var/www/html/lib/private/Files/View.php",
                    "line": 1141,
                    "function": "lockFile",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "/Shared Pictures/Unedited/DSC_5844.JPG",
                        1
                    ]
                },
                {
                    "file": "/var/www/html/lib/private/Files/View.php",
                    "line": 987,
                    "function": "basicOperation",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "fopen",
                        "/Shared Pictures/Unedited/DSC_5844.JPG",
                        [
                            "read"
                        ],
                        "r"
                    ]
                },
                {
                    "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                    "line": 499,
                    "function": "fopen",
                    "class": "OC\\Files\\View",
                    "type": "->",
                    "args": [
                        "Shared Pictures/Unedited/DSC_5844.JPG",
                        "r"
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                    "line": 85,
                    "function": "get",
                    "class": "OCA\\DAV\\Connector\\Sabre\\File",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                    "line": 89,
                    "function": "httpGet",
                    "class": "Sabre\\DAV\\CorePlugin",
                    "type": "->",
                    "args": [
                        [
                            "Sabre\\HTTP\\Request"
                        ],
                        [
                            "Sabre\\HTTP\\Response"
                        ]
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                    "line": 472,
                    "function": "emit",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": [
                        "method:GET",
                        [
                            [
                                "Sabre\\HTTP\\Request"
                            ],
                            [
                                "Sabre\\HTTP\\Response"
                            ]
                        ]
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                    "line": 253,
                    "function": "invokeMethod",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": [
                        [
                            "Sabre\\HTTP\\Request"
                        ],
                        [
                            "Sabre\\HTTP\\Response"
                        ]
                    ]
                },
                {
                    "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                    "line": 321,
                    "function": "start",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/apps/dav/lib/Server.php",
                    "line": 370,
                    "function": "exec",
                    "class": "Sabre\\DAV\\Server",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                    "line": 35,
                    "function": "exec",
                    "class": "OCA\\DAV\\Server",
                    "type": "->",
                    "args": []
                },
                {
                    "file": "/var/www/html/remote.php",
                    "line": 172,
                    "args": [
                        "/var/www/html/apps/dav/appinfo/v2/remote.php"
                    ],
                    "function": "require_once"
                }
            ],
            "File": "/var/www/html/lib/private/Files/View.php",
            "Line": 1943,
            "Previous": {
                "Exception": "OCP\\Lock\\LockedException",
                "Message": "\"files/39b1b1dd24f88308dadb938d2a7907e9\"(\"Unedited/DSC_5844.JPG\") is locked, existing lock on file: none",
                "Code": 0,
                "Trace": [
                    {
                        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                        "line": 607,
                        "function": "acquireLock",
                        "class": "OC\\Files\\Storage\\Common",
                        "type": "->",
                        "args": [
                            "Unedited/DSC_5844.JPG",
                            1,
                            [
                                "OC\\Lock\\MemcacheLockingProvider"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                        "line": 607,
                        "function": "acquireLock",
                        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                        "type": "->",
                        "args": [
                            "Unedited/DSC_5844.JPG",
                            1,
                            [
                                "OC\\Lock\\MemcacheLockingProvider"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 1935,
                        "function": "acquireLock",
                        "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                        "type": "->",
                        "args": [
                            "Unedited/DSC_5844.JPG",
                            1,
                            [
                                "OC\\Lock\\MemcacheLockingProvider"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 2048,
                        "function": "lockPath",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "/Shared Pictures/Unedited/DSC_5844.JPG",
                            1,
                            false
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 1141,
                        "function": "lockFile",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "/Shared Pictures/Unedited/DSC_5844.JPG",
                            1
                        ]
                    },
                    {
                        "file": "/var/www/html/lib/private/Files/View.php",
                        "line": 987,
                        "function": "basicOperation",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "fopen",
                            "/Shared Pictures/Unedited/DSC_5844.JPG",
                            [
                                "read"
                            ],
                            "r"
                        ]
                    },
                    {
                        "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                        "line": 499,
                        "function": "fopen",
                        "class": "OC\\Files\\View",
                        "type": "->",
                        "args": [
                            "Shared Pictures/Unedited/DSC_5844.JPG",
                            "r"
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                        "line": 85,
                        "function": "get",
                        "class": "OCA\\DAV\\Connector\\Sabre\\File",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                        "line": 89,
                        "function": "httpGet",
                        "class": "Sabre\\DAV\\CorePlugin",
                        "type": "->",
                        "args": [
                            [
                                "Sabre\\HTTP\\Request"
                            ],
                            [
                                "Sabre\\HTTP\\Response"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                        "line": 472,
                        "function": "emit",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": [
                            "method:GET",
                            [
                                [
                                    "Sabre\\HTTP\\Request"
                                ],
                                [
                                    "Sabre\\HTTP\\Response"
                                ]
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                        "line": 253,
                        "function": "invokeMethod",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": [
                            [
                                "Sabre\\HTTP\\Request"
                            ],
                            [
                                "Sabre\\HTTP\\Response"
                            ]
                        ]
                    },
                    {
                        "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                        "line": 321,
                        "function": "start",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/apps/dav/lib/Server.php",
                        "line": 370,
                        "function": "exec",
                        "class": "Sabre\\DAV\\Server",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                        "line": 35,
                        "function": "exec",
                        "class": "OCA\\DAV\\Server",
                        "type": "->",
                        "args": []
                    },
                    {
                        "file": "/var/www/html/remote.php",
                        "line": 172,
                        "args": [
                            "/var/www/html/apps/dav/appinfo/v2/remote.php"
                        ],
                        "function": "require_once"
                    }
                ],
                "File": "/var/www/html/lib/private/Files/Storage/Common.php",
                "Line": 767,
                "Previous": {
                    "Exception": "OCP\\Lock\\LockedException",
                    "Message": "\"files/39b1b1dd24f88308dadb938d2a7907e9\"(\"local::/shared/Pictures/::Unedited/DSC_5844.JPG\") is locked, existing lock on file: none",
                    "Code": 0,
                    "Trace": [
                        {
                            "file": "/var/www/html/lib/private/Files/Storage/Common.php",
                            "line": 765,
                            "function": "acquireLock",
                            "class": "OC\\Lock\\MemcacheLockingProvider",
                            "type": "->",
                            "args": [
                                "files/39b1b1dd24f88308dadb938d2a7907e9",
                                1,
                                "local::/shared/Pictures/::Unedited/DSC_5844.JPG"
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                            "line": 607,
                            "function": "acquireLock",
                            "class": "OC\\Files\\Storage\\Common",
                            "type": "->",
                            "args": [
                                "Unedited/DSC_5844.JPG",
                                1,
                                [
                                    "OC\\Lock\\MemcacheLockingProvider"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/Storage/Wrapper/Wrapper.php",
                            "line": 607,
                            "function": "acquireLock",
                            "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                            "type": "->",
                            "args": [
                                "Unedited/DSC_5844.JPG",
                                1,
                                [
                                    "OC\\Lock\\MemcacheLockingProvider"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 1935,
                            "function": "acquireLock",
                            "class": "OC\\Files\\Storage\\Wrapper\\Wrapper",
                            "type": "->",
                            "args": [
                                "Unedited/DSC_5844.JPG",
                                1,
                                [
                                    "OC\\Lock\\MemcacheLockingProvider"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 2048,
                            "function": "lockPath",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "/Shared Pictures/Unedited/DSC_5844.JPG",
                                1,
                                false
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 1141,
                            "function": "lockFile",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "/Shared Pictures/Unedited/DSC_5844.JPG",
                                1
                            ]
                        },
                        {
                            "file": "/var/www/html/lib/private/Files/View.php",
                            "line": 987,
                            "function": "basicOperation",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "fopen",
                                "/Shared Pictures/Unedited/DSC_5844.JPG",
                                [
                                    "read"
                                ],
                                "r"
                            ]
                        },
                        {
                            "file": "/var/www/html/apps/dav/lib/Connector/Sabre/File.php",
                            "line": 499,
                            "function": "fopen",
                            "class": "OC\\Files\\View",
                            "type": "->",
                            "args": [
                                "Shared Pictures/Unedited/DSC_5844.JPG",
                                "r"
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/CorePlugin.php",
                            "line": 85,
                            "function": "get",
                            "class": "OCA\\DAV\\Connector\\Sabre\\File",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/event/lib/WildcardEmitterTrait.php",
                            "line": 89,
                            "function": "httpGet",
                            "class": "Sabre\\DAV\\CorePlugin",
                            "type": "->",
                            "args": [
                                [
                                    "Sabre\\HTTP\\Request"
                                ],
                                [
                                    "Sabre\\HTTP\\Response"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                            "line": 472,
                            "function": "emit",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": [
                                "method:GET",
                                [
                                    [
                                        "Sabre\\HTTP\\Request"
                                    ],
                                    [
                                        "Sabre\\HTTP\\Response"
                                    ]
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                            "line": 253,
                            "function": "invokeMethod",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": [
                                [
                                    "Sabre\\HTTP\\Request"
                                ],
                                [
                                    "Sabre\\HTTP\\Response"
                                ]
                            ]
                        },
                        {
                            "file": "/var/www/html/3rdparty/sabre/dav/lib/DAV/Server.php",
                            "line": 321,
                            "function": "start",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/apps/dav/lib/Server.php",
                            "line": 370,
                            "function": "exec",
                            "class": "Sabre\\DAV\\Server",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/apps/dav/appinfo/v2/remote.php",
                            "line": 35,
                            "function": "exec",
                            "class": "OCA\\DAV\\Server",
                            "type": "->",
                            "args": []
                        },
                        {
                            "file": "/var/www/html/remote.php",
                            "line": 172,
                            "args": [
                                "/var/www/html/apps/dav/appinfo/v2/remote.php"
                            ],
                            "function": "require_once"
                        }
                    ],
                    "File": "/var/www/html/lib/private/Lock/MemcacheLockingProvider.php",
                    "Line": 62
                }
            }
        },
        "message": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none",
        "exception": {},
        "CustomMessage": "\"Shared Pictures/Unedited/DSC_5844.JPG\" is locked, existing lock on file: none"
    }
}

And when I spin up bitnami’s redis cluster chart and change the redis.config.php to the following:

        redis.config.php: |-
          <?php
          $CONFIG = array (
            'memcache.distributed' => '\OC\Memcache\Redis',
            'memcache.locking' => '\OC\Memcache\Redis',
            'redis.cluster' => array(
              'seeds' => array(
                'redis-cluster-headless:6379'
              ),
              'password' => getenv('REDIS_HOST_PASSWORD'),
            ),
          );

(I have aslo tried redis-cluster:6379 for the seed, I get the same result)

I get the following errors in the logs and an internal system error on loading the webui:

{
    "reqId": "XN0dcqwWLpLXe7Dt2RId",
    "level": 3,
    "time": "2023-12-26T07:58:56+00:00",
    "remoteAddr": "192.168.50.191",
    "user": "--",
    "app": "core",
    "method": "GET",
    "url": "/favicon.ico",
    "message": "Exception thrown: RedisClusterException",
    "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",
    "version": "28.0.1.1",
    "exception": {
        "Exception": "RedisClusterException",
        "Message": "Couldn't map cluster keyspace using any provided seed",
        "Code": 0,
        "Trace": [
            {
                "file": "/var/www/html/lib/private/RedisFactory.php",
                "line": 88,
                "function": "__construct",
                "class": "RedisCluster",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/RedisFactory.php",
                "line": 158,
                "function": "create",
                "class": "OC\\RedisFactory",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/Memcache/Redis.php",
                "line": 66,
                "function": "getInstance",
                "class": "OC\\RedisFactory",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/lib/private/Memcache/Redis.php",
                "line": 72,
                "function": "getCache",
                "class": "OC\\Memcache\\Redis",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/lib/private/URLGenerator.php",
                "line": 203,
                "function": "get",
                "class": "OC\\Memcache\\Redis",
                "type": "->",
                "args": [
                    "core-favicon.ico"
                ]
            },
            {
                "file": "/var/www/html/lib/private/legacy/template/functions.php",
                "line": 249,
                "function": "imagePath",
                "class": "OC\\URLGenerator",
                "type": "->",
                "args": [
                    "core",
                    "favicon.ico"
                ]
            },
            {
                "file": "/var/www/html/core/templates/layout.guest.php",
                "line": 20,
                "function": "image_path",
                "args": [
                    "core",
                    "favicon.ico"
                ]
            },
            {
                "file": "/var/www/html/lib/private/Template/Base.php",
                "line": 180,
                "args": [
                    "/var/www/html/core/templates/layout.guest.php"
                ],
                "function": "include"
            },
            {
                "file": "/var/www/html/lib/private/Template/Base.php",
                "line": 150,
                "function": "load",
                "class": "OC\\Template\\Base",
                "type": "->",
                "args": [
                    "/var/www/html/core/templates/layout.guest.php",
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/legacy/OC_Template.php",
                "line": 139,
                "function": "fetchPage",
                "class": "OC\\Template\\Base",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/legacy/OC_Template.php",
                "line": 170,
                "function": "fetchPage",
                "class": "OC_Template",
                "type": "->",
                "args": [
                    "*** sensitive parameters replaced ***"
                ]
            },
            {
                "file": "/var/www/html/lib/private/Template/Base.php",
                "line": 132,
                "function": "fetchPage",
                "class": "OC_Template",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/lib/private/legacy/OC_Template.php",
                "line": 291,
                "function": "printPage",
                "class": "OC\\Template\\Base",
                "type": "->",
                "args": []
            },
            {
                "file": "/var/www/html/index.php",
                "line": 104,
                "function": "printExceptionErrorPage",
                "class": "OC_Template",
                "type": "::",
                "args": [
                    [
                        "RedisClusterException"
                    ],
                    500
                ]
            }
        ],
        "File": "/var/www/html/lib/private/RedisFactory.php",
        "Line": 88,
        "CustomMessage": "Exception thrown: RedisClusterException"
    }
}

Indicating it can’t see any of the redis nodes at all.

Is this the first time you’ve seen this error? (Y/N):
Y

Steps to replicate it:

Explained above

The output of your Nextcloud log in Admin > Logging:
Provided above

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

In the helm chart it makes a lot of these as configmaps so the config.php won’t be much help as it’s missing a lot of detail.

The output of your Apache/nginx/system log in /var/log/____:
tell me if you really need these. I can’t find them

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.
Can’t get them when it’s erroring out, but I have debug logging on as the above log outputs are the only entries I se when the issue ocurrs.

Surely I’m doing something wrong because I can’t be the only one with this issue, but I have no idea what I’m doing wrong. Any help would be appreciated.

Any help on this would be greatly appreciated

It should also be noted that the instance of redis that works correctly is the same bitnami redis chart (not the cluster one) by just flipping sentinel: to false so it deploys in a master/replica setup. Then my config points to that master instance and works fine. That means the version of redis that is running is working in some form, it just doesn’t want to communicate with a sentinel, or cluster.

From another pod I am able to successfully run

redis-cli -h redis -p 26379
Sentinel masters

Which proves the hostname “redis” correctly resolves to a sentinel instance on the correct port, and responds to sentinel commands. Is there anything else I can run to prove connectivity?

Exakt same Problem here also with the bitnami chart, please advice.
I would like to run a redis replication with sentinel, as I have more applications which use redis than nextcloud. And the redis multi master cluster supports only one database.

Thank god I’m not the only one. Good to see the issue can be replicated at least.

I have it running with the redis cluster now. But Sentinel is as you said.
When I look into the redisfactory.php, I also dont see a routine for the necessary call to the sentinel to get the master redis for write requests.
I think it isnt implemented at all. Maybe there is a Fetaurerequest necessary.

To get the Cluster running with nextcloud, I deactivated “init” in the values.yaml and innitialised the redis cluster manualy. Than it works on my site. But the readiness checks dont get succesful also, as the check looks for a clusterstate:ok. It said fail here before I initialised it manualy.

Maybe somebody from Nextcloud could say if it would need a featurerequest to get redis sentinel going with Nextcloud. I would appreciate that, because redis Cluster can handle only one Database, the sentinel replication can handle 16, would be useable for more than one client software, like any other Database system, while lacking nearly nothing of the HA capability.

What do you have to do to initialise the redis cluster manually? I’m not familiar with redis beyond pointing an application at it.

I am sorry I dont have time to create a howto for you here now.
But I am sure there are plenty out there, google will help you.
“redis sentinel howto”, will bring them up.