apiVersion: apps/v1 kind: Deployment metadata: name: mirccloud-redis namespace: mirccloud labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: redis app.kubernetes.io/part-of: mirccloud spec: replicas: 1 selector: matchLabels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: redis template: metadata: labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: redis app.kubernetes.io/part-of: mirccloud spec: securityContext: runAsNonRoot: true runAsUser: 999 runAsGroup: 999 fsGroup: 999 containers: - name: redis image: redis:7-alpine command: - redis-server - --appendonly - "yes" - --maxmemory - 100mb - --maxmemory-policy - allkeys-lru ports: - name: tcp-redis containerPort: 6379 protocol: TCP resources: requests: cpu: 50m memory: 64Mi limits: cpu: 200m memory: 128Mi volumeMounts: - name: redis-data mountPath: /data livenessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 3 failureThreshold: 3 readinessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 securityContext: allowPrivilegeEscalation: false readOnlyRootFilesystem: false capabilities: drop: - ALL volumes: - name: redis-data persistentVolumeClaim: claimName: mirccloud-redis --- apiVersion: v1 kind: Service metadata: name: mirccloud-redis namespace: mirccloud labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: redis app.kubernetes.io/part-of: mirccloud spec: type: ClusterIP selector: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: redis ports: - name: tcp-redis port: 6379 targetPort: 6379 protocol: TCP --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: mirccloud-redis namespace: mirccloud labels: app.kubernetes.io/name: mirccloud app.kubernetes.io/component: redis app.kubernetes.io/part-of: mirccloud spec: accessModes: - ReadWriteOnce storageClassName: nfs-synology resources: requests: storage: 1Gi