• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    미해결

Redis-cluster를 구축한다면

21.03.16 18:47 작성 조회수 662

1

안녕하세요.

강의 잘 들었습니다. 

쿠버네티스라는 툴의 기초적인 사용법을 인지하고 테스트용으로 redis-cluster 환경을 만들어 보려고 했는데 어떻게 만드는 것이

효율적인지 판단이 서지 않아 질문을 드립니다.

Redis cluster 환경 작성시 가장 고민이 되는 부분이 사용 포트 관련한 내용입니다.

docker-compose 로 구성할때는 12개 포트를 바인딩해서 로컬에서 사용했었습니다.

( 127.0.0.1 : 6379 , 7379, 8379 , 9379 ,10379 ,20379 ) 각 서비스 포트에 cluster port ( +10000 ) 추가 설정

쿠버네티스에서라면  어떤 구조로 설계해서 사용하는 것이 좋을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요!

쿠버네티스에서 정해진(1번, 2번, ... 6번) 서비스를 사용할 땐, "StatefulSet"을 사용하시는 것이 좋습니다.

https://kubernetes.io/ko/docs/concepts/workloads/controllers/statefulset/

강의에서 아직 StatefulSet을 설명하지 않았는데 Deployment와 유사하나 차이점은 Pod을 순서대로 만듭니다.

예를 들어, Deployment로 pod을 여러개 만들면 pod-7c8f659b9f-rkbr2, pod-7c8f659b9f-qphxj 와 같이 생성이 되는데, StatefulSet으로 만들면 pod-0, pod-1, .. 처럼 차례대로 숫자가 붙습니다.

StatefulSet으로 redis를 만들고 Headless 서비스(아직 설명안한 부분이 계속 나오네요 ㅠㅠ 위 링크를 참고하시면 됩니다)를 붙여서 도메인으로 접속하는 방식을 사용하면 괜찮을 것 같습니다.

redis-0.redis-cluster.svc.cluster.local, redis-1.redis-cluster.svc.cluster.local, .. 이런식으로 주소가 생성되고 각 Pod은 서로 다른 IP를 가지므로 동일한 port (6379, 16379)를 사용하면 됩니다.

이 부분은 추후 강의에서 자세히 설명 드리도록 하겠습니다.

감사합니다!

yoonsm님의 프로필

yoonsm

질문자

2021.03.17

빠른 답변 감사드립니다.  역시 기본내용으로 대응하는 것은 무리가 있었네요..

강의 올라오면 바로 수강을 해야겠네요 ^^