Post

Redis - Database Engine

Redis - Database Engine

Redis is a open-source, in-memory data store used by millions of developers as a cache, vector database, document database, streaming engine, and message broker.

Kubernetes Manifest

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: redis
    app.kubernetes.io/instance: redis
    app.kubernetes.io/name: redis
  name: redis
  namespace: redis
spec:
  replicas: 1
  strategy:
    type: Recreate
  selector:
    matchLabels:
      app: redis
  template:
    metadata:
      labels:
        app: redis
        app.kubernetes.io/name: redis
    spec:
      nodeSelector:
        worker: "true"
      containers:
        - image: bitnami/redis
          name: redis
          securityContext:
            runAsUser: 0
            runAsGroup: 0
          ports:
            - containerPort: 6379
              hostPort: 6379
              protocol: TCP
          env:
            - name: REDIS_PASSWORD
              value: "[REDACTED]"
            - name: ALLOW_EMPTY_PASSWORD
              value: "no"
            - name: TZ
              value: Europe/London
          volumeMounts:
            - mountPath: /bitnami/redis
              name: data
      hostname: redis
      restartPolicy: Always
      volumes:
        - name: data
          persistentVolumeClaim:
            claimName: redis
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: redis
  name: redis
  namespace: redis 
spec:
  ports:
    - name: "redis"
      port: 6379
      targetPort: 6379
  selector:
    app: redis

Docker Compose

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
version: '3.2'
services:
  redis:
    image: bitnami/redis:latest
    hostname: redis
    networks:
      - traefik-public
    environment:
      - TZ=Europe/London
      - ALLOW_EMPTY_PASSWORD=no
      - REDIS_PASSWORD=[REDACTED]
    volumes:
      - type: bind
        source: /srv/cephfs/docker/appdata/redis
        target: /bitnami/redis
    ports:
      - 6379:6379/tcp
    deploy:
      mode: replicated
      placement:
        constraints: [node.role == manager]
networks:
  traefik-public:
    external: true
This post is licensed under CC BY 4.0 by the author.