apiVersion: v1 kind: ConfigMap metadata: name: redis-config namespace: aurask data: redis.conf: | bind 0.0.0.0 protected-mode yes appendonly yes dir /data save 900 1 save 300 10 save 60 10000 maxmemory-policy noeviction --- apiVersion: v1 kind: Service metadata: name: redis namespace: aurask spec: clusterIP: None selector: app: redis ports: - name: redis port: 6379 targetPort: 6379 --- apiVersion: apps/v1 kind: StatefulSet metadata: name: redis namespace: aurask spec: serviceName: redis replicas: 1 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: containers: - name: redis image: redis:7-alpine imagePullPolicy: IfNotPresent command: - redis-server - /etc/redis/redis.conf ports: - containerPort: 6379 name: redis volumeMounts: - name: redis-config mountPath: /etc/redis/redis.conf subPath: redis.conf - name: redis-data mountPath: /data readinessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 5 periodSeconds: 10 livenessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 20 periodSeconds: 20 resources: requests: cpu: 250m memory: 256Mi limits: cpu: "1" memory: 1Gi volumes: - name: redis-config configMap: name: redis-config volumeClaimTemplates: - metadata: name: redis-data spec: accessModes: - ReadWriteOnce resources: requests: storage: 8Gi