Kubernetes/Google(GCP)

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

썩석 2024. 2. 5. 16:48
반응형

지난 포스팅에는 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를 입력하면 노드 리스트가 출력됩니다.

끝~

 

 

반응형