Cloud

[Cloud] - K-PaaS를 통한 MSA 배포 실습 (with. 소스 컨트롤)

yongyongcoding 2026. 1. 12. 10:11

이번 실습은 MSA 구조의 간단한 어플리케이션을 배포해보려고한다.

아래의 sample-msa 프로젝트를 활용해 실습을 진행했다. 

https://github.com/K-PaaS/msa-sample/blob/master/resource/configmap.yml

 

 

configmap이란 쉽게 말해, 애플리케이션 실행에 필요한 설정 정보(Configuration)를 코드와 분리하여 관리하기 위한 바구니

configmap을 등록하는이유는 MSA 환경에서는 동일한 소스 코드를 가진 컨테이너라도 개발(Dev), 테스트(Test), 운영(Prod) 환경에 따라 데이터베이스 주소나 포트 번호 등 설정값이 다르기 때문에 공통 설정을 위한 파일을 등록한 것이다.

 

[1. 적용할 Configmap 등록]

해당 congifmap을 K-PaaS의 포터에 등록해준다.

※ cofngimap에서 master cluster에서 라우팅할 ip:nodeport를 등록해준 작업이다. 

apiVersion: v1
kind: ConfigMap
metadata:
  name: kpaas-msa-configmap
  namespace: default
data:
  MSA_API_URL: http://{master node public ip}:30010
  MSA_SD_API_URL: http://{master node public ip} :30014
  MSA_UI_URL: http://{master node public ip}:30011
  MSA_GATEWAY_URL: http://{master node public ip}:30012

※ K-PaaS 포트 내에 ConfigMap등록

 

 

[2. 사용할 소스 코드 git clone 후 Souce Controller에 git push]

클러스터에 git clone을 통해 깃허브 코드를 받은 뒤 Source Control에서 

source controll에서 내정보 관리에서 비밀번호를 등록하고 등록한 비밀번호를 통해서 올릴 수 있다. 

비밀번호 등록 후 신규 생성을 한 뒤 cluster1에서 git clone한 파일들을 올리면 된다.

※ 소스컨트롤러에 레파지토리를 만들고 해당 URL로 git push 명령어를 실행한다

나머지 프로젝트들도 push를 해주면 된다.

 

 

[3. Master Cluster의 KubeConfig를 확인 하고 파이프라인을 만든다]

kubeconfig를 확인하고 파이프라인을 만들어보자

참고로 배포 job은 https://github.com/K-PaaS/msa-sample 해당 링크의 deploy와 service yaml로 실행해주면 된다.

각 서비스별로 파이프라인을 만들어주고 실행하면 된다.

나는 빠른 배포를 위해 빌드와 배포 단계만 구성을 진행했다.

※ 생성된 이미지를 확인하려면 harbor 이미지 저장소를 통해 확인 가능하면 배포된 서비스를 조회해 로그를 찍어보면 된다. 

※ 위처럼 각 프로젝트들의 파이프라인을 만들면 배포가 완료 된다.

 

 

 

위와같이 K-PaaS를 이용하면 간단한 방식으로 MSA구조를 배포할 수 있다.