본문 바로가기
Compute/kubernetis

[쿠버네티스 시작하기 #1] CKA 시험 준비를 위한 Kubernetes 클러스터 구축하기

by 조청유곽 2024. 10. 19.
반응형

 

 

 

** 테스트 환경 

0. Windows 10 22H2

1. VirtualBox 7.0.8

2. Vagrant 2.3.4 

 

 

** 설치 과정 정리

1. virtual box 설치 

2. vagrant 설치 

 

virtual box와 vagrant 설치 시 옵션 설정 없이 모두 next로 설치 진행함  

 

베이그런트(Vagrant)는 포터블 가상화 소프트웨어 개발 환경 (예: 개발 생산성 증가를 위해 가상화의 소프트웨어 구성 관리의 단순화를 시도하는 버추얼박스하이퍼-V도커 컨테이너VM웨어AWS)의 생성 및 유지보수를 위한 오픈 소스 소프트웨어 제품의 하나이다 - 출처 : 위키백과

 

3. vagrant로 virtual box VM을 생성한다. 

   - vagrant 스크립트를 이용하여 kubernetes cluster를 자동 생성하는 과정 

   - master 노드 1개 / worker 노드 2개로 구성됨 

 

3.1. vagrant에서 vm 생성 시 사용할 rocky8의 repository 파일 다운로드

rockylinux-repo.json
0.00MB

 

 

3.2. vagrant에서 vm 자동 생성을 위한 스크립트 다운로드. (Vagrantfile)

Vagrantfile
0.01MB

 

3.3 위 첨부된 설치 파일들을 k8s 폴더에 다운로드한다. 

 

3.4. Rocky Linux repo 세팅과 vagrant disk 설정 plugin을 설치한다. 

 

vagrant box add rockylinux-repo.json

: 다운로드 받은 reockylinux-repo.json을 vagrant box에 add한다. 

: 명령 프롬프트에서 에러 발생 시 관리자 권한으로 명령 프롬프트를 실행한다.  

 

** 관리자 권한이 아닌 경우 배치 파일이 아니라는 에러가 리턴될 수 있음 

 

 

** 관리자 권한으로 cmd 실행 후 vagrant box add 시 정상적으로 완료됨 

 

 

vagrant plugin install vagrant-vbguest vagrant-disksize

: vagrant에서 사용할 plugin을 설치한다. 

 

 

 

3.5. vagrant로 vm생성을 진행한다. 

: vagrantfile을 열어 보면 대략 어떤 형태의 vm들이 설치되는지 확인할 수 있다. 

 

vagrant up

: vagrant로 vm 생성을 실행 

: vagrantfile을 참조하여 master 노드 1개와 worker 노드 2개가 생성됨 

 

 

 

vagrant로 vm 생성이 완료되면 virtual box에서 아래 사진과 같이 

3대의 vm이 생성된 것을 확인 할 수 있다.

 

 

 

 

 

 

4. 생성된 클러스터 확인 

: 클러스터 생성이 완료되었으니 master / worker node에 접속해본다. 

   (ssh 접속 시 id/pw는 root/vagrant)

: vagrantfile을 확인하면 master / worker node의 접속 ip 등을 확인 할 수 있다. 

 

 

 

** master / worker 1,2 node에 모두 정상적으로 ssh 접속이 됨 

 

 

5. worker node를 master node에 연결

 

: 먼저 master node에서 node 정보를 확인하고 join을 위한 token을 확인한다. 

kubectl get node

cat ~/join.sh

 

 

: join.sh의 token 값을 worker node 1,2에서 입력한다. 

kubeadm join 192.168.56.30:6443 --token aabutq.4ape1r0dvz5x96ul --discovery-token-ca-cert-hash sha256:786a2a4ef69d2b1b48441fc31bd291d0743803e7ca84a61962f91513113a4943 

 

 

: 정상적으로 join이 된 상태에서 다시 node 정보를 확인하면 master와 worker 1,2가 모두 출력된다. 

 

 

: 대시보드 접속

https://192.168.56.30:30000/#/login

 

 

 

이것으로 kubernetes 학습을 위한 테스트 환경은 모두 준비되었다. 

이제 신나게 학습을 진행해보자~~~

반응형