Vagrant
는 가상컴퓨터의 개발환경을 쉽게 Code
로 구축해주는 프로그램이다. hashicorp
에서 제작했는데 요즘 성장중인 스타트업
회사이다.
choco install vagrant -y
명령어를 입력하고 설치vagrant
라고 입력해보면 설치가 잘 되어있는지 확인할 수 있다.프로그램을 설치할 때 에러가 뜬다면 터미널을
관리자권한
으로 실행했는지 확인해보자
mkdir vagrant
cd ./vagrant/
mkdir test
cd test
pwd
vagrant를 실행할 때 경로가 매우 중요하다. 경로가 다르면 실행할 파일을 찾지 못하기 때문이다. 다음에 다시 vagrant를 실행하기 위해서는 생성했던 경로를 꼭
cd
로 변경해주고 실행해야한다.
centos7
을 사용해볼 예정이다. 아래 명령어를 터미널에 입력한다. 이 명령어를 통해 vagrant를 설정할 기본 파일
을 만들어줄 수 있다.vagrant init centos/7
vagrant 기본 파일
을 편집할 수 있다.ruby
로 구성되어있는데 vagrant
자체가 ruby
를 기반으로 만들어 졌기 때문이다. 하지만 다음 버전부터는 Go
로 만들 예정이라 나중에는 파일구조가 바뀔 것이다.notepad .\vagrantfile
명령어를 실행시키기 전에 꼭 디렉토리 경로
가 잘 되어있는지 확인
명령어 | 의미 |
---|---|
vagrant up | vm을 만들어주고 실행시켜준다. 그리고 이미 설치된 상태에서 vagrant up 하면 실행만 시켜준다. |
vagrant status | 상태를 확인 가능 |
vagrant halt | 전원을 꺼준다 |
vagrant -h | 커맨드들의 용도나 사용법 확인 가능 |
vagarnt ssh | 가상컴퓨터 내부로 접속 가능 |
vagrant destroy | 가상 컴퓨터를 지워주게 된다. |
~/vagrant/ansible/Vagrantfile
경로 디렉토리를 만들어준다.cd ~/vagrant/
mkdir ansible
cd ansible
mkdir Vagrantfile
cd Vagrnatfile
vagrant init
명령어로 파일을 만들고나서 편집을 하는 방법도 있지만 아래 명령어로 txt
파일로 기본파일을 만드는 방법도 소개해보겠다.notepad .\vagrantfile
Vagrant.configure("2") do |config|
# Define VM
config.vm.define "controller" do |centos|
centos.vm.box = "centos/7"
centos.vm.hostname = "controller"
centos.vm.network "private_network", ip: "192.168.100.10"
centos.vm.provider "virtualbox" do |vb|
vb.name = "controller"
vb.cpus = 2
vb.memory = 2048
end
end
# Define VM
config.vm.define "node1" do |centos|
centos.vm.box = "centos/7"
centos.vm.hostname = "node1"
centos.vm.network "private_network", ip: "192.168.100.11"
centos.vm.provider "virtualbox" do |vb|
vb.name = "node1"
vb.cpus = 2
vb.memory = 2048
end
end
# Define VM
config.vm.define "node2" do |centos|
centos.vm.box = "centos/7"
centos.vm.hostname = "node2"
centos.vm.network "private_network", ip: "192.168.100.12"
centos.vm.provider "virtualbox" do |vb|
vb.name = "node2"
vb.cpus = 2
vb.memory = 2048
end
end
end
터미널
로 돌아와서 아래 명령어로 확장자
를 제거해준다.mv .\Vagrantfile.txt .\Vagrantfile
vagrant up
controller
와 node1
node2
를 구축했기 때문에 아래 명령어로는 접속이 안된다.vagrant ssh
그래서
vagrant ssh controller
이렇게 어떤 가상머신으로 접속할지 입력해주어야한다.
PS C:\Users\Administrator\vagrant\ansible\Vagrantfile> vagrant ssh controller
[vagrant@controller ~]$