Vagrant 실습 환경 구축 (Windows)

Vagrant란?

가상 머신(VM), 컨테이너 환경을 쉽게 설정하고 관리할 수 있도록 도와주는 IaC도구입니다.
 
대표적인 IaC도구는 Terraform, Vagrant, Ansible등이 존재하는데, Vagrant는 로컬환경에서 가상머신(VM)을 관리할때 주로 사용합니다.
*IaC란 Infra as Code의 약자로 인프라를 코드로 관리하는 것을 의미합니다. 코드기반으로 관리하면 일관된 인프라를 구성할수 있다는 장점이 존재합니다.

 

 

Virtualbox 설치(6.1.50 버전)

가상머신(VM)은 Virtualbox를 설치합니다.

 

설치를기 전에 Vagrant와 호환이 되는 Virtualbox 버전을 확인해야 합니다. 호환이 되는 버전은 아래와 같으며, 추후에 변경될 수도 있으므로 공식사이트를 통해 확인하는 것을 추천합니다.

 

아래 링크를 통해서 Virutalbox 6.1.50 버전을 설치할 수 있습니다.

 

Download_Old_Builds_6_1 – Oracle VirtualBox

Download VirtualBox (Old Builds): VirtualBox 6.1 The Extension Packs in this section are released under the VirtualBox Personal Use and Evaluation License. All other binaries are released under the terms of the GPL version 2. By downloading, you agree to t

www.virtualbox.org

 

 

Vagrant 설치(2.4.1 버전)

아래 링크에 접속하여 Vargrant 2.4.1 버전을 설치합니다.

 

 

Vagrant를 통해 Cent OS 프로비저닝

해당 실습은 Vagrant를 통해 가상머신(CentOS)을 프로비저닝 하는 실습을 통해 Vagrant가 정상적으로 동작하는지 확인해 보겠습니다.

 

 

명령 프롬프트(cmd)를 관리자 권한으로 실행하여 아래 명령어를 입력한다.

아래 명령어는 해당 디렉터리로 이동하여 프로비저닝을 위한 기초파일을 생성하는 명령어이다.

cd C:\Program Files\Vagrant
vagrant init

관리자 권한으로 명령 프롬프트(cmd)를 실행하지 않으면 오류가 발생
Vagrantfile이 생성된 것을 확인

 

VScode 에디터로 확인해 보면 config.vm.box는 설치하려는 이미지로 base로 설정되어 있는 것을 볼 수 있습니다.

*Vagrantfile은 루비언어로 작성된다.

 

명령 프롬프트(cmd)에 아래 명령어를 실행하면 base라고 명시되어있는 이미지를 찾지못해 오류가 발생하는것을 볼수있습니다. 
vagrant up

 

CentOS를 설치하기 위해 기존 Vagrantfile에서 "base"를  "sysnet4 admin/CentOS-k8s"로 수정해 줍니다.

 

해당이미지의 상세정보는 아래 링크를 통해 확인할 수 있습니다.

https://app.vagrantup.com/sysnet4admin/boxes/CentOS-k8s

 

HashiCorp Cloud Platform

 

portal.cloud.hashicorp.com

 

 

명령 프롬프트(cmd)에 아래 명령어를 실행하여 가상머신(CentOS)을 생성 및 실행합니다.

vagrant up

 

저는 디폴트가 Hyper-V로 설정되어 VirtualBox에서 가상머신이 생성되지 않는 오류가 발생하여 아래 명령어를 사용해서 해결하였습니다.
vagrant up --provider virtualbox

 

VirtualBox를 확인해 보면, 가상 머신이 생성되어 실행 중인 것을 확인할 수 있습니다.

 

아래 명령어를 통해 SSH를 통해 가상머신(CentOS)에 접속하고, 실행시간(uptime)과 운영체제의 종류(redhat-release)를 확인하여 가상머신이 정상적으로 동작하는지 확인합니다.

vagrant ssh
uptime
cat /etc/redhat-release

 

exit 명령어를 통해 SSH 연결을 해제하고, destroy -f 명령어를 통해 가상머신을 삭제한다.(-f는 가상머신을 강제종료하는 명령어이다.)

exit
vagrant destroy -f

 

VirtualBox를 확인해 보면, 가상 머신이 삭제된 것을 확인할 수 있습니다.

 

 

참고자료