요약
- 10장. 애플리케이션 통합과 배포
- 통합 및 배포 파이프라인 정의 (나머지 부분)
- GCP 배포 환경 구성
메모
10.1.2 지속적 배포
- 지속적 배포: 애플리케이션을 클라우드 환경에 배포하는 과정
- 일반적인 온프레미스 환경에서는 빌드를 통해 생성된 .war 파일을 웹 애플리케이션 서버(WAS)에 배포하는 것이 일반적임.
- 하지만 클라우드 환경에서는 IaaS 서비스 모델을 사용하면 비슷한 방식으로 배포할 수 있지만, 컨테이너 기술이나 쿠버네티스를 사용하면 배포 과정이 크게 달라짐.
- 클라우드 벤더에서 제공하는 PaaS 서비스를 이용하면, 쉽게 적용할 수 있음.
쿠버네티스란?
- 쿠버네티스는 컨테이너 오케스트레이션 시스템으로, 2014년에 구글이 오픈소스로 공개했음.
- 이는 대규모 컨테이너 시스템의 운영 경험과 다양한 사례들을 토대로 만들어진 시스템으로, 애플리케이션의 확장성과 장애 복구에 효과적이며, 기본적으로 무중단 배포를 지원하여 지속적인 배포가 가능함.
- 쿠버네티스의 주요 구성 요소에는 오브젝트와 컨트롤러가 있음.
- 파드(Pod)
- 쿠버네티스에서 관리하는 배포 가능한 가장 작은 단위로, 하나 이상의 컨테이너를 담을 수 있음.
- 서비스(Service)
- 파드에서 실행 중인 애플리케이션을 네트워크 서비스로 노출하는 경우에 사용됨.
- 서비스는 파드에 외부 요청을 전달하는 역할을 함.
- 디플로이먼트(Deployment) 및 레플리카셋(ReplicaSet)
- 파드를 관리하는 컨트롤러.
- 디플로이먼트는 직접적으로 파드를 관리하지 않고, 레플리카셋을 통해 관리하며, 레플리카셋은 지정된 파드 개수에 대한 가용성을 보장함.
쿠버네티스 배포
10.2 GCP 배포 환경 구성
- 다양한 클라우드 서비스 제공자들 중에서는 AWS, Azure, GCP 등이 관리형 쿠버네티스 환경을 제공함.
- 이번 챕터에서는 GCP (Google Cloud Platform)를 이용함.
10.2.1 GCP 환경 설정
댓글