본문 바로가기

DevOps/CI|CD

통합 및 배포 자동화

통합 및 배포 자동화

컨테이너 인프라 환경에서 쿠버네티스를 사용하는 이유는 컨테이너 애플리케이션을 유연하고 빠르게 배포하고 운영하기 위해서이다. 그렇다면 컨테이너로 구동하는 애플리케이션을 어떻게 배포하는 것이 가장 좋을까? 현재까지 진행한 과정은 다음과 같다.

 

  1. 깃허브 등의 저장소에 저장해 둔 애플리케이션 소스 코드를 내려받아 도커 컨테이너 이미지로 빌드한다.
  2. 빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록한다.
  3. 레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성한다.
  4. 생성한 오브젝트(파드/디플로이먼트)를 외부에서 접속할 수 있도록 서비스 형태로 노출한다.
docker build > docker push > kubectl create > kubectl expose

 

이런 과정을 파이프라인(Pipeline)이라고 한다. 대부분 IT 작업은 파이프라인을 통해 결과를 만든다. 기존에는 파이프라인을 사람이 하나하나 수작업으로 진행했지만, 이제는 도구를 사용해 자동화할 수 있다.

 

자동화는 크게 지속적 통합(CI, Continuous Integration), 지속적 배포(CD, Continuous Deployment) 두가지로 정의되며, 일반적으로 둘을 합쳐 CI/CD라고 한다. CI/CD는 실무적인 환경에서 변경사항을 계속 추적해 좀 더 안정화된 애플리케이션을 만들고, 이를 배포하는 과정을 자동화해 시스템을 안정적으로 운영하는 데 가장 많이 쓰이는 개념이다. 컨테이너 인프라 환경에 가장 효과적으로 사용되는 ‘통합 및 배포 자동화’이다.

 

 

 

 

 

 

출처:

"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 조훈,심근우,문성주 지음/길벗출판사" 책을 기반으로 실습한 내용입니다.