3. QuickStart
① 프로젝트 다운로드: git clone https://github.com/choisungwook-vagrant
② config.yaml파일 설정
③ vm실행: vagrant up
④ vm삭제: vagrant destroy --force
4. 이해
▪ vagrant는 vagrantfile에 맞춰서 VM 생성
▪ 프로바이더(Provider) 타입
▪ virtualbox
▪ vmware: vagrant 구독필요
▪ ...
virtualbox
vagrantfile
vagrant명세에 맞춰
프로비저닝
5. vagrantfile
▪ virtualbox 설정정보를 vagrant필드에 입력
config.vm.define "testvm" do |cfg|
cfg.vm.box = "centos/7"
cfg.vm.network "public_network", ip: 192.168.25.33
cfg.vm.hostname = "hello"
cfg.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
v.name = "testvm"
end
①
②
③
④
⑤
⑥
① OS 종류와 버전
② bridge IP
③ OS hostname
④ VM 메모리
⑤ VM CPU
⑥ VM 이름
⑤
④
⑥
③
②
②
6. vagrantfile
▪ VM 정보를 yaml포맷으로 관리
server:
name: testvm
box: centos/7
hostname: testvm
ip: 192.168.25.33
memory: 2048
cpu: 2
config.vm.define CONFIG['server']['name'] do |cfg|
cfg.vm.box = CONFIG['server']['box']
cfg.vm.network "public_network", ip: CONFIG['server']['ip']
cfg.vm.hostname = CONFIG['server']['hostname']
cfg.vm.provider "virtualbox" do |v|
v.memory = CONFIG['server']['memory']
v.cpus = CONFIG['server']['cpu']
v.name = CONFIG['server']['name']
end
config.vm.define "testvm" do |cfg|
cfg.vm.box = "centos/7"
cfg.vm.network "public_network", ip: 192.168.25.33
cfg.vm.hostname = "hello"
cfg.vm.provider "virtualbox" do |v|
v.memory = 2048
v.cpus = 2
v.name = "testvm"
end
<기존>
<변경: yaml파일로 VM관리>
7. vagrantfile
▪ vagrant는 config.yml파일을 로드하여 vm정보를 수정
▪ IP는 사용하지 않는 IP사용
▪ ping test로 IP사용확인
server:
- name: testvm
box: centos/7
hostname: testvm
ip: 192.168.25.33
memory: 2048
cpu: 2
①
②
③
④
⑤
⑥
① VM이름
② OS종류와 이름
③ OS hostname
④ bridge IP
⑤ VM 메모리
⑥ VM cpu