From 8bbd2ff08ad726d4adf3339dade9f225d97577ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beatrice=20Dellac=C3=A0?= Date: Sun, 30 Mar 2025 14:09:32 +0200 Subject: [PATCH] add redis --- deploy/redis/kustomization.yaml | 9 +++++ deploy/redis/redis-lb.yaml | 16 +++++++++ deploy/redis/redis-sentinel-configmap.yaml | 12 +++++++ deploy/redis/redis-sentinel-deploy.yaml | 33 ++++++++++++++++++ deploy/redis/redis-statefulset.yaml | 40 ++++++++++++++++++++++ deploy/redis/redis-svc.yaml | 14 ++++++++ 6 files changed, 124 insertions(+) create mode 100644 deploy/redis/kustomization.yaml create mode 100644 deploy/redis/redis-lb.yaml create mode 100644 deploy/redis/redis-sentinel-configmap.yaml create mode 100644 deploy/redis/redis-sentinel-deploy.yaml create mode 100644 deploy/redis/redis-statefulset.yaml create mode 100644 deploy/redis/redis-svc.yaml diff --git a/deploy/redis/kustomization.yaml b/deploy/redis/kustomization.yaml new file mode 100644 index 0000000..e7b1199 --- /dev/null +++ b/deploy/redis/kustomization.yaml @@ -0,0 +1,9 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - redis-lb.yaml + - redis-sentinel-configmap.yaml + - redis-sentinel-deploy.yaml + - redis-statefulset.yaml + - redis-svc.yaml diff --git a/deploy/redis/redis-lb.yaml b/deploy/redis/redis-lb.yaml new file mode 100644 index 0000000..c25e582 --- /dev/null +++ b/deploy/redis/redis-lb.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-lb + namespace: redis + labels: + app: redis +spec: + selector: + app: redis + ports: + - port: 6379 + targetPort: 6379 + protocol: TCP + name: redis + type: ClusterIP diff --git a/deploy/redis/redis-sentinel-configmap.yaml b/deploy/redis/redis-sentinel-configmap.yaml new file mode 100644 index 0000000..ce4839e --- /dev/null +++ b/deploy/redis/redis-sentinel-configmap.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: redis-sentinel-config + namespace: redis +data: + sentinel.conf: | + port 26379 + sentinel monitor mymaster redis-0.redis.grafana.svc.cluster.local 6379 2 + sentinel down-after-milliseconds mymaster 5000 + sentinel failover-timeout mymaster 10000 + sentinel parallel-syncs mymaster 1 diff --git a/deploy/redis/redis-sentinel-deploy.yaml b/deploy/redis/redis-sentinel-deploy.yaml new file mode 100644 index 0000000..d034ddc --- /dev/null +++ b/deploy/redis/redis-sentinel-deploy.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: redis-sentinel + namespace: redis + labels: + app: redis-sentinel +spec: + replicas: 3 + selector: + matchLabels: + app: redis-sentinel + template: + metadata: + labels: + app: redis-sentinel + spec: + containers: + - name: redis-sentinel + image: redis:6.2-alpine + ports: + - containerPort: 26379 + name: sentinel + command: + - "redis-sentinel" + - "/etc/redis/sentinel.conf" + volumeMounts: + - name: sentinel-config + mountPath: /etc/redis + volumes: + - name: sentinel-config + configMap: + name: redis-sentinel-config diff --git a/deploy/redis/redis-statefulset.yaml b/deploy/redis/redis-statefulset.yaml new file mode 100644 index 0000000..b005dad --- /dev/null +++ b/deploy/redis/redis-statefulset.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: redis + namespace: redis + labels: + app: redis +spec: + serviceName: "redis" + replicas: 3 + selector: + matchLabels: + app: redis + template: + metadata: + labels: + app: redis + spec: + containers: + - name: redis + image: redis:6.2-alpine + ports: + - containerPort: 6379 + name: redis + command: + - "redis-server" + - "--appendonly" + - "yes" + volumeMounts: + - name: data + mountPath: /data + volumeClaimTemplates: + - metadata: + name: data + spec: + accessModes: [ "ReadWriteOnce" ] + storageClassName: longhorn + resources: + requests: + storage: 5Gi diff --git a/deploy/redis/redis-svc.yaml b/deploy/redis/redis-svc.yaml new file mode 100644 index 0000000..1f49342 --- /dev/null +++ b/deploy/redis/redis-svc.yaml @@ -0,0 +1,14 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis + namespace: redis + labels: + app: redis +spec: + ports: + - port: 6379 + name: redis + clusterIP: None + selector: + app: redis