: 복잡한 VM 관리를 도와주는 오픈소스 utility
: VM configuration file로, VM에 필요한 것들을 정의해 놓으면 Vagrant가 자동으로 VM에 환경을 구성함
→ 해당 파일에서 가상 서버의 IP를 설정할 수 있음!
아래 버전보다 버전업 시 연동 안될 수 있음
vagrant-vbguest 설치
(VirtualBox의 그래픽 개선 프로그램인 Guest Additions를 최신상태로 유지시켜주는 플러그인)
→ Vagrant를 초기화하여 Vagrantfile 생성
>> vagrant plugin install vagrant-vbguest --plugin-version 0.21
>> vagrant init
맨 위 두 줄은 Vagrantfile이 ruby 언어를 사용한다는 것을 알려주는 글이므로 지우면 안되고, 나머지 주석은 삭제한다.
Vagrant는 Vagrant cloud를 통해 Vagrant Box==Virtual Machine Image(Ubuntu, Centos, etc)를 제공한다. 도커 허브에서 도커 이미지를 가져오는 것과 비슷하다. 기본적으로 박스는 base
로 기본 설정이 되어있는데, 이 부분을 원하는 OS로 수정하여 설치한다.
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.define "was01" do |was01|
was01.vm.box="centos/7"
was01.vm.hostname="was01"
was01.vm.network "private_network", ip: "192.16.3.31"
was01.vm.synced_folder "./data", "/vagrant_data"
end
config.vm.define "web01" do |web01|
web01.vm.box="centos/7"
web01.vm.hostname="web01"
web01.vm.network "private_network", ip: "192.16.3.32"
web01.vm.synced_folder "./data", "/vagrant_data"
end
config.vm.define "db01" do |db01|
db01.vm.box="centos/7"
db01.vm.hostname="db01"
db01.vm.network "private_network", ip: "172.17.102.213"
db01.vm.synced_folder "./data", "/vagrant_data"
end
end
→ 잘 저장되었는지 확인
>> vagrant status
>> vagrant up was01
>> vagrant up db01
OS가 설치되고 기타 dependencies도 설치되기 때문에 시간이 걸린다.
→ 완료가 되면 running
상태가 된다.
아래와 같이 에러가 뜨면 Vagrantfile 내 synced_folder에 적은 대로 "data" 디렉토리 생성 후 재시도
서버 종료 후 설정
>> vagrant halt
→ VirtualBox 실행 → 좌측 메뉴에서 서버 선택 → 설정 버튼
→ 시스템-마더보드에서 기본 메모리를 2048MB로 설정
→ 시스템-프로세서 에서 프로세서 개수를 2개로 설정
>> vagrant up was01
>> vagrant ssh was01
SSH 세션 종료는 CTRL+D
>> ifconfig
-bash: ifconfig: command not found
CentOS7부터는 기본 탑재 명령어가 아님
ifconfig 명령어가 포함된 net-tools package 설치!>> su - Password: vagrant >> yum install net-tools
방화벽 구동 확인
>> firewall-cmd --state
열린 포트 확인
>> firewall-cmd --zone=public --list-all
포트 개방
>> firewall-cmd --permanent --zone=public --add-port=22/tcp
적용
>> firewall-cmd --reload
>> vi /etc/ssh/sshd_config
65번째 줄에서 비밀번호 인증 허용
// 기존
PasswordAuthentication no
// 수정
PasswordAuthentication yes
sshd 재시작
>> systemctl restart sshd
좌상단 설정 버튼 - Profiles & connectrions terminal - SSH connection - Duplicate
Name, Host, Username, Password 입력
(Username, Password 둘 다 vagrant
)
상단 탭 …
클릭 - Open SFTP panel