쿠버네티스 클러스터를 구축하는 방법은 여러 가지가 있다. 사용하고 있는 노트북 혹은 데스크톱의 CPU와 Memory가 충분하다면 로컬에 Docker Desktop을 이용하면 손쉽게 쿠버네티스 클러스터를 구축할 수 있다. 나는 로컬에 구축할 수 있다면 로컬에 올라간 클러스터를 사용하는 게 제일 간편하다고 생각한다.
하지만 나는 리소스가 충분하지 않았었다. 취업을 준비할 때 많은 기업에서 쿠버네티스를 사용한다고 하여 경쟁력을 높이기 위해 쿠버네티스를 공부하고자 했었지만 구축이 제일 큰 산이였었다. 집에 놀고 있던 데스크탑에 메모리를 추가로 구매해 서버로서 쿠버네티스를 구축하기도 하고 사용하던 노트북에 쿠버네티스를 구축하려고도 했지만 쉽지 않았다.
그러던 중 GCP에서 제공하는 GKE라는 서비스를 알게 되었고 90일간 300$ 만큼을 무료로 사용할 수 있었다. 이게 끝나면 또 계정을 만들어 또다시 90일간 300$를 사용할 수 있었다. 그 방법을 이 포스팅에서 소개하려 한다.
포스팅은 아래와 같은 순서로 작성할 것이다.
- 계정 만들기
- 무료 크레딧 사용 설정
- GKE 만들기
- GKE에 접근하기
1. 계정 만들기
한 번도 GCP의 무료 크레딧을 사용하지 않으신 분이라면 이 과정은 생략하셔도 됩니다!!
구글로 이동하신 뒤 오른쪽 위의 프로필을 클릭하고 다른 계정 추가를 눌러주세요
그리곤 계정 만들기를 클릭하시면 되는 데 이후의 과정은 굳이 설명하지 않을게요.. 새로운 구글 계정을 잘 만들어주세요!! (30초 만에 만들 수 있답니다)
저도 새로운 계정 만들었어요.
2. 무료 크레딧 사용 설정
이제 GCP 홈으로 이동해주세요.
그리고 무료로 시작하기를 클릭해주세요.
위와 같이 입력 한 뒤 계속을 누르면 전화번호 인증을 거쳐야 합니다.
전화번호 인증까지 거치면 주소 정보를 입력하고 또 한 번 전화번호 인증을 거칩니다. 그리곤 결제수단도 등록을 해야 하는데요. 위 사진에 오른쪽 빨간색 박스 부분을 읽어보면 “무료 체험판 종료 후 자동 청구되지 않음”이라고 명시되어 있습니다. 실제로 크레딧을 다 사용하게 되면 사용하던 리소스는 종료되고 활성화 버튼을 누르지 않으면 실제로 결제가 될 일은 없으니 안심하셔도 좋을 거 같습니다. 저는 지금 12개째 계정을 만들어서 무료로 GKE를 사용하고 있어요. 그간 한 번도 과금이 되었던 적은 없습니다.
결제 정보까지 입력하면 아래와 같이 GCP 대시보드로 자동으로 이동합니다.
이제 GKE를 생성해보겠습니다.
3. GKE 만들기
대시보드에서 Kubernetes Engine → 클러스터를 선택해주세요
그리곤 Kubernetes Engine API를 사용 클릭해주세요.
잠시 기다리면 다음과 같은 화면이 나온다.
만들기를 클릭한 뒤 GKE Standard를 선택하자.
그리곤 별 다른 설정할 것 없이 아래의 만들기를 클릭해주면 된다. (필요에 따라 노드의 사양을 올리거나 낮출 수 있고 개수도 당연히 조정이 가능하다.)
위의 사진에서 오른쪽과 같이 예상 월 비용을 알려준다. 158$로 보이는데 우리가 사용 가능한 크레딧은 300$ 이므로 2달 정도 GKE를 계속해서 사용할 수 있는 것이다.
잘 생성되었다.
4. GKE에 접근하기
구글에서 제공하는 GKE라는 서비스를 이용해 쿠버네티스 클러스터를 만들었다. 너무도 당연한 이야기지만 내 컴퓨터에 클러스터가 있는 게 아니고 구글의 데이터 센터 어딘가에 구축되어 있다. 그렇다는 것은 권한이 필요하다는 이야기다. 내 노트북에서 접근하기 위해선 GCP에 접근할 수 있는 인증이 필요하고 또 쿠버네티스 클러스터에 접근할 수 있는 권한을 얻어야한다. 이는 GCP에 대한 접근 권한이 있어야 한다.
이러한 인증은 gcloud CLI를 통해 할 수 있다. 여기로 이동해 설치하자.
그리고 터미널에서 아래 명령어를 입력하자.
gcloud auth login
이제 쿠버네티스 클러스터에 대한 접근 권한을 얻어보자.
이는 아래 명령어로 얻을 수 있다.
gcloud container clusters get-credentials <cluster-name> \
--zone <zone-name> \
--project <project-name>
위 명령어는 웹 UI에서도 확인할 수 있다.
클러스터 이름 클릭
연결 클릭
위 명령어를 터미널에 입력하면 된다.
이제 쿠버네티스 클러스터 인증을 위한 파일인 .kube/config 에 클러스터에 대한 접근 권한이 저장되었다. 하지만 클러스터에 명령을 내리기 위해선 kubectlkubectl이라는 툴이 추가로 필요하다.
kubectl 설치는 여기서 해도 되고 gcloud components install kubectl 명령어를 통해서 해도 된다.
이후 클러스터의 노드를 조회해보자.
kubectl get node
접근이 잘 된다고 이야기할 수 있을 것 같다.