Redis

Kubernetes Redis Cluster 설치

김 정출 2024. 8. 17. 00:44

Redis Cluster는 master를 여러 개 두어 분산 저장(sharding)이 가능하며, Scale-out이 가능합니다.
최소 3개의 Master Node가 있어야 구성 가능하며, Sentinel 과 달리 모든 node가 서로 감시하며 failover를 조치합니다.

Reference: https://medium.com/swlh/getting-started-with-redis-cluster-on-windows-6435d0ffd87

Helm installation

helm repo add bitnami <https://charts.bitnami.com/bitnami>
helm fetch bitnami/redis-cluster --untar
cd redis-cluster
ls

values.yaml 수정

vi values.yaml
---
global:
  ...
  defaultStorageClass: nfs
  storageClass: nfs
  redis:
    password: "[YOUR_REDIS_PASSWORD]"
    
    
persistence:
  ...
  ## @param persistence.storageClass Storage class of backing PVC
  ## If defined, storageClassName: <storageClass>
  ## If set to "-", storageClassName: "", which disables dynamic provisioning
  ## If undefined (the default) or set to null, no storageClassName spec is
  ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
  ##   GKE, AWS & OpenStack)
  ##
  storageClass: nfs
  ## @param persistence.size Size of data volume
  ##
  size: 50Gi

ConfigMap 수정

vi templates/configmap.yaml
---
maxmemory 8000M
maxmemory-policy volatile-lr
helm install redis-cluster . --namespace redis --create-namespace

kubectl logs -f -nredis redis-cluster-0

Connect Redis

kubectl exec -it -nredis redis-cluster-0 -- redis-cli
127.0.0.1:6379> auth [YOUR_REDIS_PASSWORD]
OK

> info

...

# Replication
role:master
connected_slaves:1
slave0:ip=10.10.171.119,port=6379,state=online,offset=36414,lag=0
master_failover_state:no-failover
master_replid:6f407dd3626f9963acd97e1c4e629a968d864409
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:36414
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:36414

...

# Cluster
cluster_enabled:1

Key 삽입

kubectl exec -it -nredis redis-cluster-0 -- redis-cli -c

127.0.0.1:6379> SET test 1
-> Redirected to slot [6918] located at 10.10.219.110:6379
OK

10.10.219.110:6379> KEYS *
1) "test"