쿠버네티스 환경에서 Redis Sentinel Sidecar 패턴 구축 실전 가이드 ②


구축(파드 생성)

1. YAML 파일 순차 적용

1. Config 생성

2. Service 생성

3. Statefulset 생성

2. Redis-Sentinel 구성 확인

1) Redis 상태 확인: ROLE

2) redis.conf 확인

3) sentinel.conf 확인

4) sentinel monitoring 확인

Sentinel-0,1,2에 아래와 같이 'info sentinel' 명령을 실행해서 Sentinel이 Redis를 잘 모니터링하고 있는지 조회해서 얻은 결과를 간추린 것이다.
kubectl exec -it redis-sentinel-0 -c sentinel -- redis-cli -p 28504 -a password info sentinel

5) 🖧 Redis-Sentinel nodes 구성 다이어그램

┌───────────────┐ │ Redis-0(106) │ │ 🟢Master │ │ Sentinel-0 │ └──────┬────────┘ ┌──────────└───────────┐ ▼ ▼ ┌───────────────┐ ┌───────────────┐ │ Redis-1(108) │ │ Redis-2(110) │ │ 🟡Replica-1 │ │ 🟡Replica-2 │ │ Sentinel-1 │ │ Sentinel-2 │ └───────────────┘ └───────────────┘

3. 💽 데이터 입력

Failover(장애 조치) 테스트를 하려고 Redis-0 파드를 다운(삭제)하면 쿠버네티스가 2초 이내에 Redis-0 파드를 다시 살린다. down-after-milliseconds 3초이므로 Redis-0 다운을 감지하지 못한다. 그래서 3백만개 정도 데이터를 입력해서 다운되었던 Redis가 다시 시작하는데 5초 이상 걸리게 한다. (데이터 로딩 시간이 5초 정도 걸림) redis-benchmark가 키를 랜덤하게 생성하므로 실제로 저장된 키 개수(dbsize)는 3백만개가 조금 못 미친다.
- 실제 저장된 키 개수: 2955238
- AOF 파일 사이즈: aof.1.incr.aof -> 412M
- 파드 메모리 사이즈: kubectl top pod -> 625Mi


➡ 이제 파드도 생성했고, 데이터도 입력했으니 Failover(장애 조치) 테스트하러 갑시다.


<< K8s Sidecar 패턴 준비 ① K8s Sidecar 패턴 테스트 ③ >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.