k8s_redis_sentinel_2
쿠버네티스 환경에서 Redis-Sentinel 구축 실전 가이드 ②
구축(파드 생성)
1. YAML 파일 순차 적용(생성)
1) Config 생성
2) Service 생성
3) Statefulset 생성
레디스 파드 3개, 센티널 파드 3개가 모두 실행되어 Redis-Sentinel이 구성되었다.
2. Redis-Sentinel 조회
1) 역할(마스터/복제) 조회: redis-role.sh
역할(마스터/복제) 확인용 Redis ROLE 명령 스크립트
실행(조회) 결과: 보기 편하기 편집했다.
2) 센티널이 모니터하는 레디스 조회: sentinel-info.sh
센티널 확인용 Sentinel 'INFO SENTINEL' 명령 스크립트
실행(조회) 결과: 보기 편하기 편집했다.
센티널이 모니터링하는 마스터는 'redis-0'이고, 복제는 2개(slaves=2), 총 센티널 수는 3개(sentinels=3)이다.
3. 🖧 Redis-Sentinel 파드 다이어그램
4. 💽 데이터 입력
1) 데이터 입력
Failover(장애 조치) 테스트를 하려고 Redis-0 파드를 다운(삭제)하면 쿠버네티스가 2초 이내에 redis-0 파드를 다시 살린다. down-after-milliseconds 3초이므로 Redis-0 다운을 감지하지 못한다. 그래서 3백만개 정도 데이터를 입력해서 다운되었던 Redis가 다시 시작하는데 5초 이상 걸리게 한다. (데이터 로딩 시간이 5초 정도 걸림)
2) 데이터 입력 확인
① 키 확인: 2,955,803 ➡ redis-benchmark는 키를 랜덤하게 생성하므로 중복이 있어서 3백만 개에 조금 못 미친다.
② AOF 파일 사이즈 확인: aof.1.incr.aof 412M
③ 파드 메모리 확인: 레디스 617MB, 센티널은 데이터를 가지고 있지 않으므로 사이즈가 늘지 않는다.
➡ 이제 파드도 생성했고, 데이터도 입력했으니 Failover(장애 조치) 테스트하러 갑시다.
| << K8s Redis-Sentinel 준비 ① | K8s Redis-Sentinel 테스트 ③ >> |
|---|
