본문 바로가기
Kubernetes/Google(GCP)

GCP 무료 크레딧으로 쿠버네티스 클러스터 구축(kubeadm)

by 썩석 2024. 2. 5.
반응형

지난 포스팅에는 GCP 무료 크레딧 발급받는 방법을 알아보았고

오늘은 무료로 받은 크레딧으로 쿠버네티스 클러스터를 생성하는 방법을 알아볼까 해요

 

GCP 사용을 위한 계정등록 및 카드 등록방법은 아래 링크 클릭

https://sseokseok.tistory.com/21

 

생성 전 저는 Cluster 구성을 아래와 같이 하려고 합니다.

ControlPlane(Master)  Node 1대

Worker(Data) Node 1대

테스트 및 구성을 하다가 클러스터 리소스가 모자를 시에 더 추가시킬 계획이에요

 

 

1. 클러스터용 인스턴스(VM) 생성

 

 

$ gcloud compute instances create cluster-master --zone=europe-west3-c \ #bastion과 같은 zone으로 생성
--machine-type=e2-medium \ #GCP 클라우드 내부 규정(CPU: 2core, Memory: 4GB)
--image=ubuntu-2004-focal-v20220419 \ #OS Image ubuntu 20.04
--image-project=ubuntu-os-cloud \ #ubuntu 이미지
--boot-disk-size=50GB #root Disk 크기

 

위 명령어는 gcloud cli를 이용하여 인스턴스(VM)를 생성하는 명령어입니다.

이름은 cluster-master이며 각각의 설정들은 코드 내 주석을 확인해 주세요

 

$ gcloud compute instances create cluster-worker --zone=europe-west3-c \ #bastion과 같은 zone으로 생성
--machine-type=e2-medium \ #GCP 클라우드 내부 규정(CPU: 2core, Memory: 4GB)
--image=ubuntu-2004-focal-v20220419 \ #OS Image ubuntu 20.04
--image-project=ubuntu-os-cloud \ #ubuntu 이미지
--boot-disk-size=50GB #root Disk 크기

ControlPlane Node와 마찬가지로 동일한 스펙의 인스턴스입니다.

이름은 cluster-worker1입니다.

 

 

$ gcloud compute instances list #VM 리스트 확인

VM 리스트 확인 명령어를 입력하면 생성된 VM을 확인할 수 있습니다.

 

 

 

클러스터 생성(ControlPlane)

 

 

$ gcloud compute ssh cluster-master #ControlPlane 노드에 ssh

gcloud CLI를 이용하여 생성한 cluster-master로 접속합니다.

bastion에서 직접 접속해도 되고 GCP 인스턴스 목록에서 ssh 버튼을 눌러 접속하셔도 됩니다.

접속하는 과정 중 ssh Key 생성이 있으니 "엔터"와 "Y"를 상황에 맞게 입력하시면 됩니다.

ssh 명령어를 통하면 cluster-master에 접속한 것을 확인할 수 있어요

$ sudo -i
$ bash <(curl -s https://raw.githubusercontent.com/killer-sh/cks-course-environment/master/cluster-setup/latest/install_master.sh)

 

먼저 root 권한으로 바꿔주고 controlplane을 설치해 줍니다.

 

명령어를 입력하게 되면 docker, kubectl 등 업데이트 및 소프트웨어 설치도 진행하니 엄청 간편합니다.

설치가 되면 쿠버네티스 1.28.2 버전이 설치된 것을 확인할 수 있습니다.

위에 보이는 kubeadm join 명령어를 복사하여 메모장에 잘 복사해 놓아야 합니다.

나중에 worker 노드 설치 후 사용할 계획!!

 

 

클러스터 생성(Worker)

$ gcloud compute ssh cluster-worker

 

exit 두 번을 입력한 후 worker로 접속하는 명령어를 입력합니다.

 

$ sudo -i
$ bash <(curl -s https://raw.githubusercontent.com/killer-sh/cks-course-environment/master/cluster-setup/latest/install_worker.sh)

worker 접속 후 worker 설치 명령어를 입력합니다.

 

설치가 완료된 후 아까 ControlPlane 노드에서 복사했던 명령어를 입력하면 클러스터 구성 끝~

ControlPlane 노드에서 kubectl get nodes를 입력하면 추가된 노드 리스트를 볼 수 있다고 합니다.

 

ControlPlane 노드에 접속해서 kubectl get nodes를 입력하면 노드 리스트가 출력됩니다.

끝~

 

 

반응형