** 테스트 환경
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 파일 다운로드
3.2. vagrant에서 vm 자동 생성을 위한 스크립트 다운로드. (Vagrantfile)
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 학습을 위한 테스트 환경은 모두 준비되었다.
이제 신나게 학습을 진행해보자~~~
'Compute > kubernetis' 카테고리의 다른 글
CKA | 문제 별 kubernetes.io/docs 검색 keyword 정리 (0) | 2024.12.12 |
---|---|
kubernetes pod의 컨테이너 진입 옵션 --sh 와 bash의 차이 (0) | 2024.12.09 |
[CKA] 01. kubectl autocomplete | context와 manifest의 정의 | CKA 공부를 본격적으로 시작하기 전에 (0) | 2024.12.02 |
[쿠버네티스 시작하기 #3] pv와 pvc 생성 | pv와 pvc의 차이 (3) | 2024.10.21 |
[쿠버네티스 시작하기 #2] pod 생성 / container port 확인 / service 생성 (0) | 2024.10.20 |