일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 트랜잭션
- 도커
- 백준
- springsecurityoauth2client
- yaml-resource-bundle
- oauth2
- 소셜로그인
- 리프레시토큰
- 재갱신
- AWS
- Spring
- 토이프로젝트
- 스프링시큐리티
- 데이터베이스
- CI/CD
- 오블완
- docker
- 스프링
- 티스토리챌린지
- JIRA
- 파이썬
- 메시지
- 국제화
- 프로그래머스
- 스프링부트
- 액세스토큰
- java
- springdataredis
- springsecurity
- githubactions
- Today
- Total
땃쥐네
[GKE] Google Kubernetes Engine (GKE) 시작하기 본문
[GCP] Google Cloud Platform 시작하기 포스팅에서 이어집니다.
구글 클라우드 플랫폼의 무료체험을 시작하고, 프로젝트를 개설해둡시다.
쿠버네티스 엔진 API 활성화
우선 이전에 만들어 둔 프로젝트에 대해서, 쿠버네티스 엔진 API를 활성화해야합니다.
잠시 기다리다가 새로고침 해보면 쿠버네티스 클러스터 API가 활성화되네요!
쿠버네티스 클러스터 생성
쿠버네티스 클러스터가 활성화됐다면, 위에서 '만들기' 버튼을 눌러서 클러스터를 만들 수 있어요.
그런데 우측 상단에 보면 Standard 클러스터로 전환 또는 Autopilot 클러스터로 전환이 보입니다.
쿠버네티스 클러스터를 만드는 방법은 autopilot 방식, standard 2개로 나뉘는 것 같뉘는데, 이 두가지의 차이점에 대해서는 구글에서 공식적으로 문서를 별도로 제공하고 있으니 이쪽을 참고하시면 될 것 같아요.
autopilot 방식은 클러스터 관리를 google에서 상당수 대부분 수행해주고
standard 방식은 개발자들이 좀 더 수동으로 관리해줘야하는 차이가 있어요.
autopilot 방식은 개발자들이 노드(개별 서버 머신)를 직접적으로 관리할 수 없습니다.
google에서 이를 전부 관리해주는 방식이죠.
개발자들이 띄운 컨테이너들 단위로 노드의 수량, 크기 등을 google이 관리하고 이들을 알아서 배치해줍니다.
standard 방식은 개발자들이 노드를 직접적으로 관리할 수 있습니다. 우리가 직접 해당 노드에 접속해서 관리하는 것이 가능해요.
우리가 운영하는 노드(가상머신)의 개수 단위로 비용이 발생합니다.
개발자들은 각 노드는 몇 대 띄울 지, 컨테이너를 어느 노드에 배치할 지 관리해야합니다.
standard 방식에서 배울 것이 많을 것 같아서 저는 이쪽을 사용하기로 했습니다.
클러스터 명은 자유롭게 지어주시면 됩니다.
위치 유형의 경우 클러스터를 물리적으로 어디에다 만들 지를 결정하는 부분입니다.
리전과 영역을 간단하게 설명해보면
- 리전(Region) : 물리적인 위치, 지역(서울, 도쿄, us-central1...)
- 영역(Zone) : 리전 안의 어떤 데이터 센터 건물 느낌(서울-a, 도쿄-b, us-central1-a, us-central1-b, ...)
위와 같고, 보통 현장에서는 안정성을 위해 2-3개의 영역에 분산해서 배치하는 것으로 서버를 관리합니다.
리전을 선택하면 리전의 여러 zone에 분산해서 배치해주고
영역을 영역을 선택하면 리전에 속한 특정 영역(zone)에 배치하고, 줍니다.
비용면에서는 리전에 배치하는 것이 좀 더 비싸고 당장 분산을 고려하지 않을 것이므로 영역에 생성하겠습니다.
구글 클라우드에서 제공하는 리전 및 영역 문서에 따르면
asia-northeast3 리전에 3개의 영역 a,b,c 가 있는 것을 확인할 수 있어요. 이 3개 중 하나 고르시면 괜찮을 것 같네요.
저희는 한국에 거주하고 있으므로 속도 면에서 보면 이쪽이 제일 빠른데 비용은 좀 비쌉니다. 한달 유지비가 200달러를 넘어요.
클러스터 제어 영역 버전 지정
정적버전은 한번 정해진 버전을 유지하고, 호환성 문제가 있을 때만 업데이트해줍니다.
출시채널은 GKE가 알아서 제어 영역 버전을 관리해줍니다.
버전 호환성/안정성 문제때문에 자주 변경되는 것을 원하지 않는다면 정적 버전을, GKE에게 위임하신다면 될 것 같아요.
저는 출시 채널을 선택했습니다.
2024년 02월 28일 기준으로는 1.27.8 이 기본값이네요.
노드 풀의 크기 및 사양, 클러스터 등 다양한 부분에 대해 설정 가능합니다.
기본적으로 3개의 노드를 사용하며 각 노드별로 2 CPU, 4GB 메모리를 사용하는 것이 기본 사양입니다.
만들기를 누르고 좀 기다려보니 클러스터가 만들어졌습니다.
이 클러스터는 3대의 노드로 구성되어있고 이들 통틀어 총 6대의 CPU를 가지며, 총 메모리는 12GB입니다.
'DevOps > Google Cloud Platform' 카테고리의 다른 글
[GKE] 구글 쿠버네티스 클러스터로 애플리케이션 배포하기 (0) | 2024.02.28 |
---|---|
[GCP] Google Cloud Platform 시작하기 (0) | 2024.02.28 |