통합 및 배포 자동화
컨테이너 인프라 환경에서 쿠버네티스를 사용하는 이유는 컨테이너 애플리케이션을 유연하고 빠르게 배포하고 운영하기 위해서이다. 그렇다면 컨테이너로 구동하는 애플리케이션을 어떻게 배포하는 것이 가장 좋을까? 현재까지 진행한 과정은 다음과 같다.
- 깃허브 등의 저장소에 저장해 둔 애플리케이션 소스 코드를 내려받아 도커 컨테이너 이미지로 빌드한다.
- 빌드한 컨테이너 이미지를 쿠버네티스에서 사용할 수 있도록 레지스트리에 등록한다.
- 레지스트리에 등록된 이미지를 기반으로 쿠버네티스 오브젝트를 생성한다.
- 생성한 오브젝트(파드/디플로이먼트)를 외부에서 접속할 수 있도록 서비스 형태로 노출한다.
docker build > docker push > kubectl create > kubectl expose
이런 과정을 파이프라인(Pipeline)이라고 한다. 대부분 IT 작업은 파이프라인을 통해 결과를 만든다. 기존에는 파이프라인을 사람이 하나하나 수작업으로 진행했지만, 이제는 도구를 사용해 자동화할 수 있다.
자동화는 크게 지속적 통합(CI, Continuous Integration), 지속적 배포(CD, Continuous Deployment) 두가지로 정의되며, 일반적으로 둘을 합쳐 CI/CD라고 한다. CI/CD는 실무적인 환경에서 변경사항을 계속 추적해 좀 더 안정화된 애플리케이션을 만들고, 이를 배포하는 과정을 자동화해 시스템을 안정적으로 운영하는 데 가장 많이 쓰이는 개념이다. 컨테이너 인프라 환경에 가장 효과적으로 사용되는 ‘통합 및 배포 자동화’이다.
출처:
"컨테이너 인프라 환경 구축을 위한 쿠버네티스/도커 - 조훈,심근우,문성주 지음/길벗출판사" 책을 기반으로 실습한 내용입니다.
'DevOps > CI|CD' 카테고리의 다른 글
젠킨스 살펴보기 (0) | 2022.06.13 |
---|---|
커스터마이즈로 배포 간편화하기 (MetalLB 구성) (0) | 2022.06.13 |
젠킨스 설치를 위한 간편화 도구 (0) | 2022.06.13 |
컨테이너 인프라 환경에서 CI/CD (0) | 2022.06.13 |
쿠버네티스에 젠킨스(Jenkins) 설치하기 (2) | 2022.06.13 |