본문 바로가기
Cloud/구글 스터디 잼 | K8s

[StudyJam][#2]Kubernetes Engine: Qwik Start

by HelloJudy 2022. 7. 20.
본 포스팅은 구글 스터디 잼에 참가하여 유료 플랫폼인 '퀵랩'을 무료로 제공받아 학습한 내용을 정리한 글입니다.

 

GKE는 Google 인프라를 사용하여 컨테이너식 애플리케이션을 배포, 관리 및 확장할 수 있다.

 

 

 

📚 오늘 공부할 내용

  • GKE를 사용하여 직접 컨테이너를 생성하고 애플리케이션을 배포

 


1. 컴퓨팅 리전 설정

 

✔️ 컴퓨팅 영역: 리전 내에 대략적으로 클러스터와 리소스가 존재하는 위치

 

gcloud config set compute/zone us-central1-a

 

한국 리전을 사용할 때는 다음 리전을 사용할 수 있다.

 

compute/zone asia-southeast1-c

 

 

 

2. GKE 클러스터 생성

 

- 클러스터: 1개 이상의 클러스터 마스터 머신과 노드라는 다수의 작업자 머신으로 구성

- 노드: 클러스터를 구성하기 위해 필요한 Kubernetes 프로세스를 실행하는 Compute Engine VM(가상 머신) 인스턴스

 

$ gcloud container clusters create [CLUSTER-NAME]

 

 

 

3. 클러스터의 사용자 인증 정보 얻기

 

클러스터를 만든 후 클러스터와 상호작용하려면 사용자 인증 정보가 필요하다!

 

$ gcloud container clusters get-credentials [CLUSTER-NAME]

 

 

 

4. 클러스터에 애플리케이션 배포

 

웹 서버와 같은 스테이트리스 애플리케이션을 배포할 때는 Kubernetes에서 배포 객체를 사용한다. 

서비스 객체는 인터넷에서 애플리케이션에 액세스하기 위한 규칙과 부하 분산 방식을 정의한다.

 

 

1) hello-server 생성

 

$ kubectl create deployment hello-server --image=gcr.io/google-samples/hello-app:1.0

 

배포 이미지를 선택할 때 Container registry 버킷에 저장된 이미지를 가지고 와서 배포한다!

 

 

 

2) Kubernetes Service를 생성

 

$ kubectl expose deployment hello-server --type=LoadBalancer --port 8080

 

앱을 외부 트래픽에 노출할 수 있는 Kubernetes 리소스를 생성하는 명령어이다.

 

 

 

3) hello-server 서비스를 검사

 

$ kubectl get service

 

이때 할당된 external ip를 확인할 수 있다.

 

 

 

4) 배포 app 브라우저에서 열기

 

http://[EXTERNAL-IP]:8080

 

외부 접속이 가능한걸 확인할 수 있다.

 

 

5. 클러스터 삭제

 

$ gcloud container clusters delete [CLUSTER-NAME]

 


📌 Reference

  • 구글 클라우드 스킬 부스트 (퀵랩)
반응형

댓글