Guide - GKE 클러스터에 앱 배포
빠른시작 - 🔗 https://cloud.google.com/kubernetes-engine/docs/deploy-app-cluster
Cloud shell 실행
Cloud Shell 을 활용하게 되며 Cloud Shell 에는 Google Cloud CLI 및 kubectl 명령줄 도구가 사전 설치되어 있음
gcloud CLI 의 기본 설정 구성
gcloud 를 사용하려면 작업할 프로젝트와 위치를 지정해야 하므로 이러한 기본 설정을 구성해 두면 gcloud 명령어를 더 쉽게 실행할 수 있음
--project, --zone, --region, --cluster 플래그를 gcloud 명령어에 사용하여 설정을 지정 하거나 기본 설정 재정의가 가능함
// 기본 프로젝트 설정
gcloud config set project PROJECT_ID
// 기본 zone 설정
gcloud config set compute/zone COMPUTE_ZONE
// 기본 region 설정
gcloud config set compute/region COMPUTE_REGION
GKE 클러스터 만들기
GKE 의 2가지 모드 중 어떠한 클러스터를 생성할지는 아래 링크에서 세부 정보를 확인한다.
🔗 https://cloud.google.com/kubernetes-engine/docs/concepts/autopilot-overview?_ga=2.120917578.-39265654.1649052285
- 본 튜토리얼에서 GKE 표준 모드는 영역 클러스터이며 GKE Autopilot 모드는 리전 클러스터 이다.
- 과금방식은 GKE 표준 모드(노드(VM) 당 결제), Autopilot(pod 당 결제)
// 표준 GKE 클러스터 생성하기
gcloud container clusters create hello-cluster --num-nodes=1
// 클러스터의 사ㅛㅇ자 인증정보 가져오기
gcloud container clusters get-credentials hello-cluster
클러스터에 애플리케이션 배포
배포 만들기
kubectl create deployment hello-server \
--image=us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0
배포 노출
// 노출
kubectl expose deployment hello-server --type LoadBalancer --port 80 --target-port 8080
// 확인
kubectl get service std-cluster-app-service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
std-cluster-app-service LoadBalancer 10.76.5.147 34.122.19.196 80:30547/TCP 7m2s
샘플 앱의 새 버전 배포
GKE 의 순차적 업데이트 기능을 사용하여 다운타임 없이 배포를 업데이트 할 수 있음 - 🔗 https://cloud.google.com/kubernetes-engine/docs/how-to/updating-apps
// kubectl set image 명령어를 사용하여 이미지 업데이트로 기존 hello-app 배포에 순차적 업데이트를 적용
$ kubectl set image deployment/hello-app hello-app=REGION-docker.pkg.dev/${PROJECT_ID}/hello-repo/hello-app:v2
// v1 이미지 중지를 실행하는 실행 중인 포드와 v2 이미지 시작을 실행하는 새 포드를 확인
$ watch kubectl get pods
NAME READY STATUS RESTARTS AGE
hello-app-89dc45f48-5bzqp 1/1 Running 0 2m42s
hello-app-89dc45f48-scm66 1/1 Running 0 2m40s
Author And Source
이 문제에 관하여(Guide - GKE 클러스터에 앱 배포), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@leesjpr/Guide-GKE저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)