[클라우드] 구글 클라우드 앱 빌드 및 배포

가격 책정

  • https://cloud.google.com/kubernetes-engine/pricing?hl=ko#cluster_management_fee_and_free_tier

서비스

  1. GKE(Google Kubernetest Engine) 클러스터 또는 Cloud Run 서비스: 클라우드 애플리케이션 런타임 인프라
    • GKE: Google Cloud 인프라를 사용하여 컨테이너 애플리케이션을 배포, 관리, 확장할 수 있는 관리형 환경
    • GKE 클러스터는 Kubernetes 오픈소스 클러스터 관리 시스템을 기반으로 한다.
    • Kubernetes 명령어와 리소스를 사용하여 애플리케이션을 배포 및 관리 작업을 수행하고 정책을 설정하며 배포된 워크로드의 상태를 모니터링할 수 있다.
    • GKE 클러스터는 기본적으로 외부에서 액세스 가능하다. - Cloud Run: 컨테이너 애플리케이션 실행이 가능한 관리형 컴퓨팅 플랫폼
    • 서버리스 기반으로 인프라 관리가 필요 없다.
  2. Artifact Registry: 도커 이미지 저장소
  3. Cloud Build API: 도커 이미지 빌드 및 푸시
    • GitHub 리포지토리로부터 애플리케이션 빌드가 가능하다.
    • Dockerfile, 빌드 구성 파일인 YAML(또는 JSON) 등을 사용하여 애플리케이션을 컨테이너 이미지로 빌드하고 이미지를 저장소(Container Registry 또는 Artifact Registry)에 저정한다
    • 애플리케이션을 빌드하고 GKE 및 Cloud Run에 이미지를 배포한다.
    • 지속적 배포를 사용하면 소스 저장소의 변경사항이 이미지 저장소의 컨테이너 이미지로 자동 빌드되고 GKE 또는 Cloud Run에 배포된다.
    • Google Cloud 빌드팩은 애플리케이션 소스 코드를 가져와 프로덕션에 즉시 사용 가능한 컨테이너 이미지로 변환한다.
  4. Cloud Deploy API: 도커 이미지 배포

Cloud Run을 사용한 빌드/배포 설정

  1. Artifact Registry 생성
  2. Cloud Run 서비스 생성
    • 서비스 생성 시 Cloud Build 설정을 통해 Cloud Run으로의 지속적 배포를 설정한다.
  3. Cloud Build 설정
    • Github 소스 리포지토리 설정
      • 특정 리포지토리에 Google Cloud Build 설치 (Cloud Build GitHub 앱 사용)
      • 리포지토리에 변경 사항 적용 시 자동으로 컨테이너 이미지 빌드, 이미지 저장소에 저장, Cloud Run에 배포하는 일련의 과정을 수행하는 Cloud Build 트리거가 자동으로 설정된다.
      • 빌드 트리거가 수행하는 과정: 1) 빌드 2) 컨테이너 이미지를 이미지 저장소로 푸시 3) Cloud Run에 배포
    • 빌드 설정
      • 리포지토리에 위치한 Dockerfile 파일을 직접 사용하여 도커 이미지를 빌드할 수 있다.
      • Google Cloud의 클라우드 기반 빌드팩을 사용하면 Dockerfile 또는 빌드 구성 파일 없이 이미지 빌드가 가능하다.
  4. Cloud Deploy

고정 아웃바운드 IP 주소 설정

발생 가능 오류

  1. 빌드팩 사용 시 Step #0 - "Buildpack": Failure: (ID: 14f2a5b3) executing command "./gradlew clean assemble -x test --build-cache --quiet": fork/exec ./gradlew: permission denied `

Comments