티스토리 뷰
Vagrant 란?
앤서블 교육을 받으면서 초기에 설치한 오픈소스인데, VM을 쉽게 관리해주는 도구라고 한다.
보통 개발환경 구축할때 많이 사용하는 도구라고 하는데, 이번에 처음 알게 되었다.
HashiCorp 라는 회사에서 만든 오픈소스이고, Vagrantfile에 VM 스펙을 정의해두고 실행하면 VM이 생성되거나 업데이트 된다.
Vagrant를 사용하기 위해 맥북에 virtualbox6.x, vagrant 2.x 버전을 설치했다.
아래의 Vagrantfile을 특정 디렉토리에 작성한다.
아래의 Vagrantfile은 Ansible 실습을 위해 iac-control, iac-mgmt1, iac-mgmt2 3개의 VM을 배포하는 스크립트파일이다.
~/vagrant/iac/Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
# iac-control VM
config.vm.define "iac-control" do |config|
config.vm.box = "ubuntu/focal64"
config.vm.provider "virtualbox" do |vb|
vb.name = "iac-control"
vb.cpus = 2
vb.memory = 3000
end
config.vm.hostname = "iac-control"
config.vm.network "private_network", ip: "192.168.200.100"
end
# iac-mgmt1 VM
config.vm.define "iac-mgmt1" do |config|
config.vm.box = "ubuntu/focal64"
config.vm.provider "virtualbox" do |vb|
vb.name = "iac-mgmt1"
vb.cpus = 2
vb.memory = 2000
end
config.vm.hostname = "iac-mgmt1"
config.vm.network "private_network", ip: "192.168.200.101"
end
# iac-mgmt2 VM
config.vm.define "iac-mgmt2" do |config|
config.vm.box = "ubuntu/focal64"
config.vm.provider "virtualbox" do |vb|
vb.name = "iac-mgmt2"
vb.cpus = 2
vb.memory = 2000
end
config.vm.hostname = "iac-mgmt2"
config.vm.network "private_network", ip: "192.168.200.102"
end
# Hostmanager plugin
config.hostmanager.enabled = true
config.hostmanager.manage_guest = true
# Enable SSH Password Authentication
config.vm.provision "shell", inline: <<-SHELL
sed -i 's/ChallengeResponseAuthentication no/ChallengeResponseAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
systemctl restart ssh
apt update
apt install -y chrony
SHELL
end
Vagrantfile을 작성한후 해당 파일이 위치한 경로로 이동한후 vagrant up 명령어를 입력하면 VM이 배포된다.
배포도중 에러가 발생할수 있는데 나의 경우에는 다시 재시도를 했더니 정상적으로 배포가 되었다.
상태확인
vagrant status [VM]
시작
vagrant up [VM]
일시중지
vagrant suspend [VM]
재개
vagrant resume [VM]
중지
vagrant halt [VM]
삭제
vagrant destroy [VM]
SSH 연결
vagrant ssh [VM]
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- intellij느려짐
- 표준프레임워크 배치
- 아두이노스토리
- JsonMergePatch
- coding
- SI
- 2020.09
- JBR-526
- Arduino
- code mining
- 코딩입문
- 아두이노
- shortkey
- 우테캠프로
- 코딩
- 2020.1
- 코딩어레이키트
- JsonPatch
- 우테캠
- CONDINGARRAY
- 서비스회사
- 표준프레임워크 배치 jar
- jeus8
- CODINGARRAYKIT
- 12FactorApp
- code vision
- TMK
- 이직
- IntelliJ
- JBR-2732
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함