Box

Allgemein

Profil

Minimal Redis from Operator » Historie » Zyklus 5

Peter Pfläging, 11.04.2022 08:53

1 1 Peter Pfläging
# Minimal Redis from Operator
2
3
Very much new workload inside OPenShift / OKD or Kubernetes using Redis as distributed cache or session storage.
4
5 2 Peter Pfläging
To address this there's an operator (https://ot-container-kit.github.io/redis-operator/)
6 1 Peter Pfläging
7 4 Peter Pfläging
It's best to use a reald redis cluster. CPU and Memory usage is typically low:
8
9
- Top of 0.6 CPU, 0.7 Gig memory and 6 pods 
10
- Average of 0.1 CPU and less than 0.1 Gig memory
11
12
All values for a 3 count stateful set.
13
14
If you're using 1 Gig storage PVC's you're ending with 6 Gig storage consumption ;-)
15
16
## Install
17
18
- Install the Redis operator like it's mentioned in https://ot-container-kit.github.io/redis-operator/guide/installation.html 
19
- or use the Operator Tab in OpenShift / OKD
20
- or apply this YAML in OpenShift / OKD:
21
22 5 Peter Pfläging
     ```yaml
23 4 Peter Pfläging
apiVersion: operators.coreos.com/v1alpha1
24
kind: Subscription
25
metadata:
26
  name: redis-operator
27
  namespace: openshift-operators 
28
spec:
29
  channel: stable
30
  installPlanApproval: Automatic
31
  name: redis-operator
32
  source: community-operators
33
  sourceNamespace: openshift-marketplace
34 5 Peter Pfläging
     ```
35 4 Peter Pfläging
36
37 1 Peter Pfläging
```yaml
38
apiVersion: redis.redis.opstreelabs.in/v1beta1
39 3 Peter Pfläging
kind: RedisCluster
40 1 Peter Pfläging
metadata:
41 3 Peter Pfläging
  name: redis-cluster
42 1 Peter Pfläging
spec:
43 3 Peter Pfläging
  clusterSize: 3
44 1 Peter Pfläging
  kubernetesConfig:
45
    image: 'quay.io/opstree/redis:v6.2.5'
46
    imagePullPolicy: IfNotPresent
47
    resources:
48
      limits:
49
        cpu: 101m
50
        memory: 128Mi
51
      requests:
52
        cpu: 101m
53
        memory: 128Mi
54
    serviceType: ClusterIP
55
  redisExporter:
56
    enabled: false
57
    image: 'quay.io/opstree/redis-exporter:1.0'
58 3 Peter Pfläging
  redisFollower:
59
    serviceType: ClusterIP
60
  redisLeader:
61
    serviceType: ClusterIP
62 1 Peter Pfläging
  storage:
63
    volumeClaimTemplate:
64
      spec:
65 3 Peter Pfläging
        accessModes:
66
          - ReadWriteOnce
67 1 Peter Pfläging
        resources:
68
          requests:
69
            storage: 1Gi
70
        storageClassName: rook-ceph-block
71
```