해결된 질문
작성
·
230
2
안녕하세요. 열심히 수강중인 학생입니다.
쿠버네티스 학습을 하는 도중에 궁금한게 있어 질문드립니다.
쿠버네티스를 실제 대규모 프로젝트에서는 다중 클러스터를 사용한다고 말씀하셨는데요
미니큐베 같은경우에는 클러스터를 한개만 사용하는걸로 알고있습니다.
1. 다중 클러스트를 쓴다면 마스터,노드1,노드2 이런식으로 구조를 만드는 것인가요??
2. 다중 클러스트를 왜 쓰는지 잘 모르겠습니다.
3. 서비스는 Pod과 외부 접속을 하기 위해 필요하다 하셨는데요
만약 Pod에 My SQL, 웹서버를 컨테이너를 생성했다면 외부에서 My SQL CRUD, 웹페이지 접속을 하기 위해서는 서비스쪽 외부IP를 뚫어야 하는게 맞는건가요?? 혹 방법이 다양 하다면 제일 좋은 방법은 무엇인가요??
정말 궁금해서 이틀동안 열심히 찾아봤는데 이 부분을 찾지못했습니다. ㅠㅠ
답변 2
1
0
안녕하세요!
1번 답변을 드리려면, 다중노드와 다중클러스터에 대한 설명이 필요할 것 같습니다.
다중노드 - 하나의 클러스터에 마스터1,마스터2,마스터3,노드1,노드2,노드3,...로 구성된 것을 의미합니다. (일반적인 구성)
다중클러스터 - 위에서 설명한 다중노드(하나의 클러스터)가 여러개인 것을 의미합니다.
2번 답변은..
다중클러스터를 사용하는 이유는 서비스 가용성(다운되지 않고 계속 사용할 수 있는) 때문인데, AWS(아마존 웹서비스)도 가끔 장애가 나고 Google Cloud도 가끔 장애가 나기때문에 AWS에 클러스터 하나, Google Cloud에 클러스터 하나, 다른 곳에 클러스터 하나 이렇게 구성하여 장애를 최대한 방지할 수 있습니다. 사실 이 관리가 굉장히 어렵기 때문에 실제로 다중 클러스터를 사용하는 곳은 많지 않은 것으로 알고 있습니다. (넷플릭스 정도 되는 사업자는 사용할 것 같습니다 ㅎㅎ)
3번 답변은..
외부에서 MySQL과 웹페이지를 접속하기 위해서는 서비스를 생성하고 외부에서 접근할 수 있도록 해야 합니다. 자주 접근하는게 아니라면 임시로 프록시를 연결할 수 있으나 사용이 제한 적이라 상황에 따라 정하면 될 것 같습니다.
결론적으로, 자주 접속한다면 외부 서비스로 노출 (LoadBalacer), 자주 접근 안하지만 접근해야 한다면 프록시(kubectl proxy) 기능을 사용하여 내부서비스를 local의 포트로 연결하면 됩니다.
더 궁금한 점 있으면 편하게 문의주세요!