Box

Allgemein

Profil

Minimal Redis from Operator » Historie » Revision 8

Revision 7 (Peter Pfläging, 11.04.2022 09:04) → Revision 8/9 (Peter Pfläging, 11.04.2022 09:08)

# Minimal Redis from Operator 

 Very much new workload inside OPenShift / OKD or Kubernetes using Redis as distributed cache or session storage. 

 To address this there's an operator ( https://ot-container-kit.github.io/redis-operator/ ) (https://ot-container-kit.github.io/redis-operator/) 

 It's best to use a real redis cluster. CPU and Memory usage is typically low: 

 *     - Top of 0.6 CPU, 0.7 Gig memory and 6 pods 
 *      
 - Average of 0.1 CPU and less than 0.1 Gig memory 

 All values for a 3 count stateful set. 

 If you're using 1 Gig storage PVC's you're ending with 6 Gig storage consumption ;-) 

 ## Install 

 *     - Install the Redis operator like it's mentioned in https://ot-container-kit.github.io/redis-operator/guide/installation.html 
 *      
 - or use the Operator Tab in OpenShift / OKD 
 *     - or apply this YAML in OpenShift / OKD: 
    
     ~~~ 
     

      ```yaml 
 apiVersion: operators.coreos.com/v1alpha1 
     
 kind: Subscription 
     
 metadata: 
      
   name: redis-operator 
      
   namespace: openshift-operators  
      
 spec: 
      
   channel: stable 
      
   installPlanApproval: Automatic 
      
   name: redis-operator 
      
   source: community-operators 
      
   sourceNamespace: openshift-marketplace  
     ~~~ 
    

 
      ``` 

 ## Usage 

 In your namespace use the following yaml to get a redundant redis cluster. 

 Pay special attentions to: 

 *     - storage size 
 *     - storage class (should be block storage for best performance) 

 ~~~ yaml ```yaml 
 apiVersion: redis.redis.opstreelabs.in/v1beta1 
 kind: RedisCluster 
 metadata: 
   name: redis-cluster 
 spec: 
   clusterSize: 3 
   kubernetesConfig: 
     image: 'quay.io/opstree/redis:v6.2.5' 
     imagePullPolicy: IfNotPresent 
     resources: 
       limits: 
         cpu: 101m 
         memory: 128Mi 
       requests: 
         cpu: 101m 
         memory: 128Mi 
     serviceType: ClusterIP 
   redisExporter: 
     enabled: false 
     image: 'quay.io/opstree/redis-exporter:1.0' 
   redisFollower: 
     serviceType: ClusterIP 
   redisLeader: 
     serviceType: ClusterIP 
   storage: 
     volumeClaimTemplate: 
       spec: 
         accessModes: 
           - ReadWriteOnce 
         resources: 
           requests: 
             storage: 1Gi 
         storageClassName: rook-ceph-block 
 ~~~ ```