상세 컨텐츠

본문 제목

컨테이너(쿠베_도커)를 이용해 클라우드 네이티브 앱(마이크로서비스) 구축

클라우드+마이크로서비스

by 김일국 2019. 6. 9. 12:36

본문

#컨테이너(쿠베_도커)를 이용해 클라우드 네이티브 앱(마이크로서비스) 구축.


*배포환경: 클라우드(구글클라우드, 아마존웹서비스, 네이버 클라우드 등)

 - 실제는 비용 때문에 클라우드에 올리지 않고, 로컬 가상 머신으로 배포한다.

   즉, 웹서비스를 배포,실행하는데 위치(클아우드업체)보다는 방법이 주 관심사다.


*목표: 워드프레스 웹서비스(Mysql 포함) 설치 완료된 소스를 도커로 빌드한 이미지를 만들어서 쿠버네티스(minikube)를 이용해 로컬 가상 머신으로 배포한다.


#우선 위 의미를 해석해 보자.

 - 로컬 컨테이너(쿠버네티스)로 웹서비스(마이크로서비스)를 실행 가능하게하면,

동일한 방법으로 여러 클라우드(호스팅) 업체에 복제가 가능하고, 분산처리로 확장(Scale-Out)과 Replica복제-로드밸런스-다중화(서버가 사용할 수 없는 상태를 회피=클러스터링)이 간단하게 처리됩니다.


 - 미니쿠보로 빌드 및 배포 환경구성

   ( 아래 처럼 하지 않을 생각 입니다. 다음 포스트에 실제 개발에서 사용할 배포라인을 포스트 하겠습니다.)

   ( 그냥 아래와 같은 방식으로 할 수도 있다고 생각하고 다음 포스트로 넘어 가시기 바랍니다.)

  $ minikube docker-env

   export DOCKER_TLS_VERIFY="1"

   export DOCKER_HOST="tcp://192.168.99.100:2376"

   export DOCKER_CERT_PATH="/Users/dresende/.minikube/certs/"

   export DOCKER_API_VERSION="1.23"

 - (환경실행) $ eval $(minikube docker-env)

 - (빌드)$ docker build -t 이미지명:0.0.1(버전)

 - (이미지배포)$ kubectl run 앱이름 --image=이미지명:0.0.1(버전) --port=3000

 - (외부노출) kubectl expose deployment 앱이름 --type=LoadBalancer

 - (서비스실행확인) kubectl get services


*단점: 현재 우리나라 중,저가형 홈페이지는 아직까지 클라우드환경(여기선 컨테이너기반)으로 배포 하지 않고, 호스팅 구매이후 워드프레스 설치하고, 개별 홈페이지를 FTP로 업로드 해서 서비스를 제공하는 구조, 그래서 바로 프로비저닝이 불가능.


*장점: 가까운 미래 우리나라 중,저가형 폼페이지가 클라우드환경(여기선 컨테이너기반)으로 배포가 일반화 된다면, 워드프레스로 제작 완료된 소스를 도커로 빌드한 이미지로 만들어 바로 프로비저닝(하드웨어포함)이 가능.


현재 우리나라 중,저가형 홈페이지에 필요하지 않으나, 미래엔 적용될 기술이니, 기술 노하우를 습득하는데 의미를 둔다.

관련글 더보기

댓글 영역