[클라우드] 구글 클라우드 앱 빌드 및 배포
가격 책정
- https://cloud.google.com/kubernetes-engine/pricing?hl=ko#cluster_management_fee_and_free_tier
서비스
- GKE(Google Kubernetest Engine) 클러스터 또는 Cloud Run 서비스: 클라우드 애플리케이션 런타임 인프라
- GKE: Google Cloud 인프라를 사용하여 컨테이너 애플리케이션을 배포, 관리, 확장할 수 있는 관리형 환경
- GKE 클러스터는 Kubernetes 오픈소스 클러스터 관리 시스템을 기반으로 한다.
- Kubernetes 명령어와 리소스를 사용하여 애플리케이션을 배포 및 관리 작업을 수행하고 정책을 설정하며 배포된 워크로드의 상태를 모니터링할 수 있다.
- GKE 클러스터는 기본적으로 외부에서 액세스 가능하다.
- Cloud Run: 컨테이너 애플리케이션 실행이 가능한 관리형 컴퓨팅 플랫폼
- 서버리스 기반으로 인프라 관리가 필요 없다.
- Artifact Registry: 도커 이미지 저장소
- Cloud Build API: 도커 이미지 빌드 및 푸시
- GitHub 리포지토리로부터 애플리케이션 빌드가 가능하다.
- Dockerfile, 빌드 구성 파일인 YAML(또는 JSON) 등을 사용하여 애플리케이션을 컨테이너 이미지로 빌드하고 이미지를 저장소(Container Registry 또는 Artifact Registry)에 저정한다
- 애플리케이션을 빌드하고 GKE 및 Cloud Run에 이미지를 배포한다.
- 지속적 배포를 사용하면 소스 저장소의 변경사항이 이미지 저장소의 컨테이너 이미지로 자동 빌드되고 GKE 또는 Cloud Run에 배포된다.
- Google Cloud 빌드팩은 애플리케이션 소스 코드를 가져와 프로덕션에 즉시 사용 가능한 컨테이너 이미지로 변환한다.
- Cloud Deploy API: 도커 이미지 배포
Cloud Run을 사용한 빌드/배포 설정
- Artifact Registry 생성
- Cloud Run 서비스 생성
- 서비스 생성 시 Cloud Build 설정을 통해 Cloud Run으로의 지속적 배포를 설정한다.
- Cloud Build 설정
- Github 소스 리포지토리 설정
- 특정 리포지토리에 Google Cloud Build 설치 (Cloud Build GitHub 앱 사용)
- 리포지토리에 변경 사항 적용 시 자동으로 컨테이너 이미지 빌드, 이미지 저장소에 저장, Cloud Run에 배포하는 일련의 과정을 수행하는 Cloud Build 트리거가 자동으로 설정된다.
- 빌드 트리거가 수행하는 과정: 1) 빌드 2) 컨테이너 이미지를 이미지 저장소로 푸시 3) Cloud Run에 배포
- 빌드 설정
- 리포지토리에 위치한 Dockerfile 파일을 직접 사용하여 도커 이미지를 빌드할 수 있다.
- Google Cloud의 클라우드 기반 빌드팩을 사용하면 Dockerfile 또는 빌드 구성 파일 없이 이미지 빌드가 가능하다.
- Cloud Deploy
고정 아웃바운드 IP 주소 설정
발생 가능 오류
- 빌드팩 사용 시
Step #0 - "Buildpack": Failure: (ID: 14f2a5b3) executing command "./gradlew clean assemble -x test --build-cache --quiet": fork/exec ./gradlew: permission denied
`
Comments