# redis-statefulset.yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: redis spec: serviceName: redis replicas: 6 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: terminationGracePeriodSeconds: 30 affinity: podAntiAffinity: requiredDuringSchedulingIgnoredDuringExecution: - labelSelector: matchLabels: app: redis topologyKey: kubernetes.io/hostname containers: - name: redis image: redis:7.2.5 imagePullPolicy: IfNotPresent command: - redis-server - "--port" - "6379" - "--cluster-enabled" - "yes" - "--cluster-config-file" - "/data/nodes.conf" - "--cluster-node-timeout" - "5000" - "--appendonly" - "yes" - "--protected-mode" - "no" ports: - containerPort: 6379 name: redis volumeMounts: - name: data mountPath: /data resources: requests: cpu: "500m" memory: "1Gi" limits: memory: "2Gi" volumeClaimTemplates: - metadata: name: data spec: accessModes: - ReadWriteOnce storageClassName: ceph-block resources: requests: storage: 10Gi