본 포스팅은 구글 스터디 잼에 참가하여 유료 플랫폼인 '퀵랩'을 무료로 제공받아 학습한 내용을 정리한 글입니다.
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
- 구글 클라우드 스킬 부스트 (퀵랩)
반응형
'Cloud > 구글 스터디 잼 | K8s' 카테고리의 다른 글
[StudyJam][#3] Kubernetes로 클라우드 Orchestrating 하기 (0) | 2022.07.21 |
---|---|
[StudyJam][#1] Docker 소개 (0) | 2022.07.20 |
[StudyJam][#0] '클라우드 스터디 잼 쿠버네티스 입문' 시작! (0) | 2022.07.20 |
댓글