apiVersion: apps/v1 kind: StatefulSet metadata: name: redis namespace: ad-management spec: serviceName: redis replicas: 1 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: containers: - name: redis image: redis:7-alpine ports: - containerPort: 6379 name: redis volumeMounts: - name: redis-data mountPath: /data resources: requests: memory: "128Mi" cpu: "50m" limits: memory: "256Mi" cpu: "200m" livenessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: exec: command: - redis-cli - ping initialDelaySeconds: 5 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 1 volumeClaimTemplates: - metadata: name: redis-data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: redis namespace: ad-management spec: selector: app: redis ports: - port: 6379 targetPort: 6379 clusterIP: None # Headless service for StatefulSet