21.03.16 18:47 작성
·
869
1
안녕하세요.
강의 잘 들었습니다.
쿠버네티스라는 툴의 기초적인 사용법을 인지하고 테스트용으로 redis-cluster 환경을 만들어 보려고 했는데 어떻게 만드는 것이
효율적인지 판단이 서지 않아 질문을 드립니다.
Redis cluster 환경 작성시 가장 고민이 되는 부분이 사용 포트 관련한 내용입니다.
docker-compose 로 구성할때는 12개 포트를 바인딩해서 로컬에서 사용했었습니다.
( 127.0.0.1 : 6379 , 7379, 8379 , 9379 ,10379 ,20379 ) 각 서비스 포트에 cluster port ( +10000 ) 추가 설정
쿠버네티스에서라면 어떤 구조로 설계해서 사용하는 것이 좋을까요?
답변 1
0
2021. 03. 16. 22:24
안녕하세요!
쿠버네티스에서 정해진(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)를 사용하면 됩니다.
이 부분은 추후 강의에서 자세히 설명 드리도록 하겠습니다.
감사합니다!
2021. 03. 17. 15:14
빠른 답변 감사드립니다. 역시 기본내용으로 대응하는 것은 무리가 있었네요..
강의 올라오면 바로 수강을 해야겠네요 ^^