--- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: redis namespace: firefly-iii labels: app.kubernetes.io/name: redis app.kubernetes.io/component: redis app.kubernetes.io/instance: firefly-iii app.kubernetes.io/part-of: firefly-iii spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi --- apiVersion: v1 kind: Service metadata: labels: app.kubernetes.io/name: redis app.kubernetes.io/component: redis app.kubernetes.io/instance: firefly-iii app.kubernetes.io/part-of: firefly-iii name: redis namespace: firefly-iii spec: ports: - name: redis port: 6379 selector: app.kubernetes.io/name: redis app.kubernetes.io/component: redis app.kubernetes.io/instance: firefly-iii type: ClusterIP --- apiVersion: apps/v1 kind: StatefulSet metadata: name: redis namespace: firefly-iii labels: app.kubernetes.io/name: redis app.kubernetes.io/component: redis app.kubernetes.io/instance: firefly-iii app.kubernetes.io/part-of: firefly-iii spec: serviceName: redis selector: matchLabels: app.kubernetes.io/name: redis app.kubernetes.io/component: redis app.kubernetes.io/instance: firefly-iii template: metadata: labels: app.kubernetes.io/name: redis app.kubernetes.io/component: redis app.kubernetes.io/instance: firefly-iii spec: containers: - name: redis image: docker.io/library/redis:7 imagePullPolicy: IfNotPresent ports: - name: redis containerPort: 6379 securityContext: runAsNonRoot: true readOnlyRootFilesystem: true runAsUser: 1000 runAsGroup: 1000 volumeMounts: - name: redisdata mountPath: /data subPath: data - name: tmp mountPath: /tmp securityContext: fsGroup: 1000 volumes: - name: redisdata persistentVolumeClaim: claimName: redis - name: tmp emptyDir: