How to get RedisInsight working with PersistentVolumeClaim
s?
I installed RedisInsight following the docs and the Pod starts normally and is available via the created Service, if the deployment.yaml
uses emptyDir
. Therefore, my question differs from redisinsights-with-persistent-volume-in-kubernetes, where the Service was the issue.
However, if I add a peristentVolumeClaim
the Pod starts and data is added to the mounted directory (i.e., it is an nfs share, with mod 777 and user/group 1001:1001 ownership), but RedisInsight is not accessible anymore (local on the Pod and externally via the Service).
I used the similar yaml
files for other deployments and there they worked as expected.
The RedisInsight logs are empty.
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: redis-insight
name: redis-insight
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: redis-insight
template:
metadata:
labels:
app: redis-insight
spec:
containers:
- image: redislabs/redisinsight:latest
name: redis-insight
env:
- name: RIHOST
value: 0.0.0.0
- name: RIPORT
value: "8001"
- name: RIHOMEDIR
value: /db
- name: RILOGDIR
value: /db
volumeMounts:
- name: db
mountPath: /db
ports:
- containerPort: 8001
name: redis-ui-port
volumes:
- name: db
# emptyDir: {}
persistentVolumeClaim:
claimName: pvc-nfs-redis-insight
service.yaml
apiVersion: v1
kind: Service
metadata:
name: redis-insight-service-loadbalancer
spec:
type: LoadBalancer
selector:
app: redis-insight
ports:
- port: 8001
targetPort: 8001
protocol: TCP
name: redis-ui-port
persistent-volume-claim.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: pvc-nfs-redis-insight
spec:
storageClassName: nfs
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi
persistent-volume.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-nfs-redis-insight
labels:
type: nfs
spec:
storageClassName: nfs
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
nfs:
path: /srv/redis-insight/
server: nfs.local
readOnly: false
data dir on nfs-server (exported as srv/redis-insight
):
/mnt/redis-insight$ ls -aln
total 24
drwxrwxrwx 6 1001 1001 4096 Okt 22 15:17 .
drwxr-xr-x 6 1000 1000 4096 Okt 22 15:16 ..
drwxr-xr-x 2 1001 1001 4096 Okt 22 15:17 bulk_operation
drwxr-xr-x 2 1001 1001 4096 Okt 22 15:17 dropbox
drwxr-xr-x 2 1001 1001 4096 Okt 22 15:17 profiler_logs
-rw-r--r-- 1 1001 1001 0 Okt 22 15:17 queries.log
-rw-r--r-- 1 1001 1001 0 Okt 22 15:17 redisinsight.db
-rw-r--r-- 1 1001 1001 0 Okt 22 15:17 redisinsight.log
drwxr-xr-x 2 1001 1001 4096 Okt 22 15:17 rsnaps
As described here it is not a RedisInsight issue. Rather the issue emerged from NFS PersistentVolume
not supporting the Pod SecurityContext
.
I could resolve my issue by using csi-driver-nfs instead. Detailed installation instructions can be found here.