1. Google Cloud SDK 설치하기.
참조 : https://cloud.google.com/sdk/docs/downloads-interactive?hl=ko
# Windows에 내장된 Power Shell을 이용하여 진행 해도 되지만, 이 글에서는 VS Code에 Power Shell 터미널을 띄워서 진행 합니다.
1) VS Code를 관리자 권한으로 실행 합니다.
2) 새로운 PowerShell 터미널을 실행 후 아래 명령어를 실행.
(New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "$env:Temp\GoogleCloudSDKInstaller.exe")
& $env:Temp\GoogleCloudSDKInstaller.exe
3) 터미널로 설치하는 과정이 번거롭다면 Google Cloud CLI 설치 프로그램을 다운로드 받아서 GUI 환경에서 설치하는것도 가능 합니다.
4) 설치가 완료 된 이후 VS Code를 종료 후 다시 관리자 권한으로 실행 후 아래 명령어 실행.
$ gloud init
원하는 리전과 계정, 프로젝트 등을 선택하고 계속 진행 합니다.
$ gcloud auth list 와 $ gcloud config list project 를 통해 인증된 계정과 프로젝트를 확인 가능 합니다.
2. kubectl 설치하기.
# Cloud CLI SDK 설치가 끝나면 kubectl를 설치 해 줘야 GKE 클러스터를 컨트롤 할 수 있게 됩니다.
# GKE 클러스터는 이미 GCP에 구성 되어 있다 가정하고 진행합니다.
$ gcloud components install kubectl 명렁어로 설치.
$ kubectl get pods 명령어 잘 동작하는지 확인.
3. Google Cloud Registry(GCR) 연동하기.
$ gcloud auth configure-docker
4. 예시 프로젝트 Clone 받고 빌드, 배포 테스트하기.
# gitlab에 예시 프로젝트를 생성 한 뒤 Clone 받는다.
# .gitlab-ci.yaml 파일을 작성한다.
# .Gitlab에서는 .gitlab-ci.yaml 파일에 정의된 설정에 따라 레포지토리의 소스 변경을 감지하여 빌드와 배포 등의 스크립트를 실행합니다. “main” 브랜치에 변경이 감지되었을 때 “test” tag를 가진 runner를 통해 "deploy" 스테이지에 있는 스크립트를 실행하며 build는 cloudbuild.yaml을 읽어들여 gcloud내의 cloud build 서비스를 이용 한다는 의미입니다
#.gitlab-ci.yaml에서 cloud build 명령어를 실행 할 때 참조하게 되는 cloudbuild.yaml 파일은 GCP의 Cloud Build 서비스를 사용하려면 작성해야 되는 파일입니다.
step별로 단계가 나눠지게 되며 “build” 단계는 cloud build에서 제공하는 maven을 사용한 빌드 과정이며, “docker build” 단계는 빌드된 jar파일 이미지를 docker 컨테이너 빌드하는 단계, “publish” 단계는 Google Container Registry(GCR)에 빌드된 Docker 컨테이너 이미지를 Push 하는 단계, “cloud deploy” 단계는 실제로 구글의 Cloud Deploy 서비스를 이용하여 GKE에 배포하는 단계 입니다.
# Skaffold.yaml 파일은 Google의 Cloud Deploy 서비스를 이용할 때 필요한 파일입니다.
cloudbuild.yaml 에서 cloud deploy 단계를 정의하는데 이때 이 skaffold.yaml 파일을 참조하여 Deploy를 실행하게 됩니다.
# 예제 소스를 수정하고 gitlab repository의 main branch에 commit & push를 진행합니다.
# Gitlab 웹페이지에서 [프로젝트 - CI/CD – Pipelines]를 확인하면 방금 main 브랜치로 Push 하면서 생긴 CI/CD 파이프라인이 생성 된 것을 확인할 수 있습니다.
# Passed 버튼을 클릭 후 deploy-job을 확인 합니다.
# .gitlab-ci.yaml에 설정 해두었던 스크립트들이 다른 yaml 파일들과 연계 되며 실행되면서 Job이 무사히 종료된 것을 확인 할 수 있습니다.
# GCP의 Cloud Build 웹 콘솔에서 최근에 빌드 된 내역과 과정을 확인 할 수 있습니다.
# Container Registry 웹 콘솔에서 Build된 도커 컨테이너 이미지를 확인 할 수 있습니다.
# Cloud Deploy 웹 콘솔 화면에서 배포 파이프라인과 목록들을 확인 할 수 있습니다.
# 터미널에서 kubectl 명령어로 배포된 pod를 확인 할 수 있습니다.
'IT > GCP' 카테고리의 다른 글
[GCP] GCP의 NAS인 Filestore를 이용하여 PV 생성하기.(아직 작성중인 글) (0) | 2022.08.09 |
---|---|
[GCP] Google Cloud에서 CentOS로 Compute Engine을 생성 하였을 시 SSH 인증키 방식 접속에 관하여. (0) | 2022.07.21 |
[GCP] Container Registry에 image push 하기. (0) | 2022.06.14 |
[GCP] GCE에 Volume Mount 하기. (0) | 2022.04.13 |
[GCP] GCE VM에 SSH 접속하기. (0) | 2022.04.07 |