[클라우드] 구글 클라우드 앱 빌드 및 배포
February 11, 2023
가격 책정
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