• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

서버가 각각 구성된 실무에선 컨테이너가 어떻게 사용되는지 궁금해요

24.03.17 10:43 작성 조회수 136

1

안녕하세요! 🙃 이런 질문 올려도 되는지 모르겠지만 ..

여태 로컬에서 여러 컨테이너 띄워서 테스트 하다가 궁금한게 생겼습니다..

실제로 도커를 사용하는 환경이라고 해야되나 어떻게 활용되는지 궁금해서요!

강의에서는 3티어로 한 서버(로컬)에서 한번에 구성하는걸 알려주셨는데 개발 할 땐 편할거 같지만 배포하고 운영할때는 어떻게 사용되는걸까요? (서버 한대에 3티어를 구성할때 사용할수는 있을것 같지만요..🤔)

아래를 예로 들자면(실제로 서버를 이렇게 구성하는게 맞는건진 모르겠네요..😭)

프론트-리액트

백엔드-스프링부트

Db-redis, mysql

이렇게 사용한다고 했을때

실제 현업 서비스라면

Nginx-클라우드 서버 2대 사용

Was-클라우드 서버 2대 사용

Db-클라우드 서버 3대(?) 사용 (mysql 이중화, 캐시용 redis 1대)

이렇게 서버를 여러개 써서 구축할텐데

각각 서버에 직접 프로세스 하나씩 띄우는게 기존 방식인 상태인거죠..🤔

이 상태에서 ci/cd를 구축하기 위해서 컨테이너 기술을 사용한다면…

각각 웹, 와스, db 서버에서 전부 도커로 띄우게 되는 걸까요?

프론트랑 백은 배포까지 해야할테니 그럴것 같은데 db도 도커로 띄우면 장점이 있나요?

3티어를 전부 쿠버네티스로 관리하기 위한 게 맞을까요..?

각각 서버 하나에 컨테이너 하나씩 띄워서 운영되는 건지.. 한 서버에 내에서 컨테이너로 이중화 하는 상황도 있는건지… 궁금합니다🥹🥹🥹🥹

실제로 개인 프로젝트를 클라우드 서버에 배포 해보고 싶어서 질문이 많았네요😅

답변 1

답변을 작성해보세요.

1

먼산님 안녕하세요, 데브위키입니다.

질문해주시는 내용을 보아 강의를 잘 따라와 주신 것 같습니다.

 

엔터프라이즈 배포 환경에는 기본적으로 모든 요소에 이중화가 필요합니다.

도커를 배포하는 서버도 마찬가지이죠.

만약 말씀해주신대로 컨테이너를 7개 실행한다고 가정하면, 최소 2개에서 3개의 도커 서버가 필요합니다.

서버 한대에 이상이 생겼을 때 서비스가 종료되지 않게 하기 위해서이죠.

 

서버가 여러 대가 되면 운영이 아주 복잡해 지는데요.

어떤 서버에 어떻게 배포하고, 네트워크 트래픽을 어떻게 전달할지를 직접 관리하기 불가능할 정도로 복잡해지게 됩니다.

그래서 쿠버네티스라는 오케스트레이션 도구를 사용해 배포 환경을 관리합니다.

 

쉬운 도커 강의의 내용은 실제 엔터프라이즈의 배포 환경에 적용시기키는 어려운 부분이 많이 있습니다.

실제 운영 환경에서는 이중화 때문에 도커만 사용해서 배포하는 경우가 거의 없기 때문입니다.

현재는 쿠버네티스를 학습하기 위한 기초를 다지는 단계까지 오신 것이라고 이해하시면 좋을 것 같습니다. 말씀해주신 질문을 가지신 상태에서 쿠버네티스 학습을 시작하시면, "아, 이래서 쿠버네티스를 사용하는구나" 라고 이해하실 수 있을 것 같습니다.

아직 쿠버네티스 강의를 준비 중이고, 강의를 만드는데 시간이 오래 걸리는 편이라 시기를 말씀드리기가 어렵습니다 🥲 인프런에 좋은 쿠버네티스 강의들이 많으니, 다음 단계로 쿠버네티스 강의를 들어보시면 도움이 많이 되실 것 같습니다.

 

제가 인프런 유튜브에 도커와 쿠버네티스의 관계에 대해 업로드한 영상이 있는데, 도움이 되실 것 같아 링크를 공유 드립니다

https://youtu.be/eRfHp16qJq8?si=0ttxLmCasInNkBow