apiVersion: v1 kind: PersistentVolumeClaim metadata: name: redis-data spec: accessModes: - ReadWriteOnce storageClassName: longhorn resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: redis spec: ports: - port: 6379 selector: app: redis --- apiVersion: apps/v1 kind: Deployment metadata: name: redis labels: app: redis spec: selector: matchLabels: app: redis template: metadata: labels: app: redis spec: initContainers: - name: fix-permissions image: busybox command: ["sh", "-c", "chown -R 999:999 /data"] volumeMounts: - name: data mountPath: /data containers: - name: redis image: redis:alpine ports: - containerPort: 6379 volumeMounts: - name: data mountPath: /data resources: requests: memory: "64Mi" cpu: "50m" # 0.05 CPU Cores limits: memory: "256Mi" cpu: "1000m" # 0.5 CPU Cores livenessProbe: exec: command: ["redis-cli", "ping"] initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 readinessProbe: exec: command: ["redis-cli", "ping"] initialDelaySeconds: 5 periodSeconds: 10 volumes: - name: data persistentVolumeClaim: claimName: redis-data