Devops

[Vagrant] 기존 파일로 가상 머신 만들어보기

은하윤슬 2023. 8. 13. 16:39

Vagrant?

베이그런트는 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요할 때 시스템을 사용할  수 있는 상태로 만들어주는 오픈소스 소프트웨어 제품 중 하나입니다.

언어는 Ruby로 되어 있지만, Ruby언어는, 초보자도 쉽게 따라할 수 있을 만큼 부담없는 프로그래밍 언어입니다.

 

실습을 하기 앞서, 사전에 필요한 준비물 2가지가 존재합니다.

 

1.가상화 소프트웨어 버추얼박스

2. 베이그런트

 

각각의 파일 다운로드 링크는 밑에 준비되어 있습니다.

 

1. 버추얼 박스 설치하기

https://www.virtualbox.org/

 

Oracle VM VirtualBox

Welcome to VirtualBox.org! News Flash New July 18th, 2023VirtualBox 7.0.10 released! Oracle today released a 7.0 maintenance release which improves stability and fixes regressions. See the Changelog for details. New July 18th, 2023VirtualBox 6.1.46 release

www.virtualbox.org

2. 베이그런트 설치하기

https://developer.hashicorp.com/vagrant/downloads

 

Install | Vagrant | HashiCorp Developer

Explore Vagrant product documentation, tutorials, and examples.

developer.hashicorp.com

실습을 진행하기 앞서 베이그런트를 설치했다면 vagrant init 명령어를 실행해 프로비저닝에 필요한 기본코드를 생성해주어야 합니다.

 

베이그런트 자주 사용되는 명령어

베이그런트 명령어 설명
vagrant init 프로비저닝을 위한 기초 파일 생성
vagrant up Vagrantfile을 읽어 들여 프로비저닝을 진행합니다
vagrant halt 베이그런트에서 다루는 가상머신을 종료합니다
vagrant destroy 베이그런트에서 관리하는 가상 머신을 삭제합니다
vagrant ssh 베이그런트에서 관리하는 가상 머신에 ssh로 접속합니다.
vagrant provision 베이그런트에서 관리하는 가상 머신에 변경된 설정을 적용합니다.

 

Vagrant 실습하기

CMD창을 열고

cd C:\HashiCorp
vagrant init

해당 명령어를 실행하면 베이그런트 초기화 명령으로 인해 Vagrantfile이 생성되었음을 볼 수 있습니다.

이 파일을 이제 에디터 프로그램으로 코드를 수정하여 가상머신을 생성해보도록 하겠습니다.

 

 

https://app.vagrantup.com/boxes/search

 

Vagrant Cloud by HashiCorp

Vagrant Cloud by HashiCorp

app.vagrantup.com

해당 Vagrantfile을 에디터로 열면 15라인쯤에 config.vm.box = "base"라는 코드가 적혀있는 것을 볼 수 있습니다.

해당 라인에 적혀있는 base라는 코드를 지우고 해당 사이트에서 원하는 이미지의 코드를 붙여넣으면. Vagrant를 실행할때 vagrant Box에서 가상머신을 자동으로 다운받도록 할 수 있습니다.

 

저는 sysnet4admin/CentOS-k8s의 이미지를 사용하였습니다.

 

해당 코드를 바꿔 준 뒤, cmd창에서 vagrant up 명령어를 입력하면, 가상머신 이미지를 내려받는 것을 볼 수 있습니다. 여기서 마지막 단계에서 발생하는 unknwon filesystem type 'vboxsf' 에러는 버추얼박스의 게스트에디션이 설치되지 않아 발생하는 것으로, 이번 실습에서는 진행하는데 문제없습니다.

 

버추얼박스에 정상적으로 가상머신이 설치 되었는지 확인 해 준 후,

 

CMD창에서 vagrant ssh 명령어로 가상 머신에 접속합니다.

 

가상 머신이 잘 설치됐음을 볼 수 있으며, exit로 로그아웃을 해준 뒤, destroy 명령어로 가상머신을 삭제해주도록 합니다.