쿠버네티스 교육을 듣기에 앞서 환경 세팅을 위해 VirtualBox와 Vagrant로 CentOS OS의 가상머신을 구축해보았다.
Vagrant란?
Vagrant란 HashCorp사의 서비스로, 코드 기반으로 호스트에 빠르게 가상환경을 구축하도록 해준다.
코드 기반으로 가상환경을 구축하기 때문에 IaC(Infrastructure as Code) 도구이다.
일반적으로 VM을 생성하려면 Hypervisor에 가상머신을 생성하고, OS를 설치하고 HDD 파티션 설정, SSH 설정 등 많은 과정을 거쳐야 한다.
이때 Vagrant를 사용하면 이 과정들을 코드 기반의 파일(vagrantfile)로 생성해두고 hypervisor에 빠르게 동일한 스펙의 서버들을 프로비저닝 할 수 있다. (그림 참조)
참고로 Vagrant는 Ruby를 사용한다.
1. Vagrant 설치
https://developer.hashicorp.com/vagrant/downloads
위 사이트에 접속해 호스트 OS에 맞게 Vagrant를 설치할 수 있다.
(설치 과정에서 특별히 설정해준 부분은 없고, 계속 다음>다음>설치 하면 되었다.)
설치가 완료되면 (Window OS 기준) C:\HashiCorp\폴더가 생성되고, 그 안에 Vagrant 폴더가 생성되어있다.
CentOS로 VM을 생성할 예정이므로, centos 디렉토리를 생성해주고 해당 디렉토리 내에서 작업해주도록 한다.
cd C:\HashiCorp
mkdir centos
cd centos
2. CentOS vagrantfile 생성
vagrant init 명령으로 VM을 프로비저닝하기 위한 파일(vagrantfile)을 생성할 수 있다.
vagrant init bento/centos-8
위 명령어를 통해 centos 버전 8에 대한 vagrantfile을 바로 내려받을 수 있다.
작업이 끝나면 디렉토리 내에 .vagrant폴더와 Vagrantfile이 생성된다.
3. CentOS vagrantfile 기동
Vagrantfile이 있는 디렉토리에서 vagrant up 명령어로 VM을 프로비저닝한다.
C:\HashiCorp\centos>vagrant up
동작이 완료되면 vagrant status 명령어로 VM이 잘 생성되어 돌아가고있는지 확인한다.
잘 생성되었다ㅎ ㅎ
VirtualBox를 확인해보면 VM이 생성되어있는 것도 확인할 수 있다.
4. SSH 접속
vagrant ssh default
위 명령으로 호스트에서 바로 vagrant 서버로 ssh 접속을 할 수 있다!
'개인 프로젝트' 카테고리의 다른 글
[K8S] 'node had volume node affinity conflict' 문제 해결 (0) | 2023.08.18 |
---|---|
[K8S] emptyDir 공유 볼륨 사용하기 (0) | 2023.08.17 |
[Django] 상용 환경에서 staticfiles를 찾지 못하는 에러 해결 (0) | 2023.08.07 |
[Django] WEB 서버 '400 Bad Request Error' 해결 (0) | 2023.08.07 |
[SQLite] SQLite 특징 (0) | 2023.05.05 |