Print
카테고리: [ Cloud Computing & MSA ]
조회수: 38292

1. 개요


2. GKE란?

2.1. 특징

GCP(Google Cloud Platform)이 제공하는 관리형 Kubernetes 서비스다. 그런데 모든 부분이 관리형으로 제공되는 것은 아니고 마스터 노드가 관리형으로 제공된다.

그 외에 일반 쿠버네티스와의 차별점이 존재한다.

AWS EKS도 마스터에 대한 관리형 서비스를 제공하는 것은 같다. 근데 GKE는 클러스터 관리를 무료로 제공하지만 EKS는 클러스터마다 시간당 0.20불을 내야 한다. 30일이라면 144불이다.

2.2. 유의할 점

GKE 생성 시 한 프로젝트마다 3개의  C 클래스 IP 대역을 할당해야 하며 이는 이후 수정이 불가능하다. 노드가 얼만큼 증가할지 예상할 수 없기 때문에 최대치를 기준으로 대역을 할당해야 한다.


3. 클러스터 노드

GKE의 클러스터 노드로 GCE(Google Compute Engine)를 사용한다. 이말은 즉 GCE 노드 수만큼 비용이 청구된다. 각 노드는 최소 1분부터 초 단위로 과금된다.

Private 클러스터 구성 시에는 클러스터 리전이 라우터와 VPN 리전과 동일해야 외부에서 접근이 가능하다. 


4. 업그레이드

GKE 클러스터 마스터는 Stable 최신 버전의 쿠버네티스로 자동 업그레이드되며 수동으로도 업그레이드할 수 있다. 

참고로 쿠버네티스의 버전은 Alpha, Beta, Stable로 구분된다. 


5. On-Prem

GKE On-Prem을 사용하면 데이터센터에서도 GKE를 사용할 수 있다.


6. Containter Registry

도커 컨테이너 이미지 관리를 위한 관리형 레지스트리이다. gcr.io/<프로젝트명> 으로 접근 가능하다.

일반 도커 레지스트리를 사용하듯이 docker tag, docker push, docker pull로 접근 가능한데 그 전에 gcloud auth를 통해 구글 단에서 인증을 받아야 한다.

사용료는 저장공간 요금과 네트워크 비용으로 청구된다.


7. CI/CD

7.1. Jenkins

설치는 다음 방법 중 선택하여 설치 가능하다.

7.2. Spinnaker

넷플릭스에서 개발하여 오픈한 배포 자동화 솔루션이다. 구글 뿐 아니라 AWS, Auzre, OpenStack 등도 멀티 클라우드를 지원한다.


8. GKE에 웹 애플리케이션 배포 

8.1. 컨테이너 이미지 빌드

8.2.컨테이너 이미지 업로드

8.3. 컨테이너를 로컬로 실행 (옵션)

8.4. 컨테이너 클러스터 생성

8.5. 애플리케이션 배포

8.6. 애플리케이션 노출

8.7. 애플리케이션 확장

8.8. 신버전 배포

8.9. 삭제


9. 모니터링

GKE prometheus pod 모니터링에 대해 알아본다.