
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 ~]$