목차
1. Vagrant
- Vagrant 정리
- Vagrant 초기파일 생성
- VM의 Hostname 수정 및 base image 지정
- Vagrant 실행(VM 생성) 및 VM 삭제
- 포트포워딩 및 Shell 사용
- VM 설정 및 폴더 동기화
- VM 동시에 2개 생성
- FTP 서버 생성
Vagrant
Vagrant 정리
- Vagrant : Hasicorp사에서 만든 IaC 도구
- IaC : Infrastructure As Code
- Infra를 Code로 관리하는 기술
- 1000대의 가상머신을 세팅한다면?
- 완벽하게 똑같은 설정임을 보장할 방법이 없다
- 만약에 code로 관리한다면?
- 멱등성을 보장할 수 있다
- 멱등성 : 몇 번을 수행해도 결과는 똑같음을 보장
- 배포(=설치)관리
- Terraform
- Platform에 종속되지 않는다
- AWS의 Cloud Platform은 aws에서만 사용이 가능
- Vagrant
- private
- 구성관리(설치 후 설정 작업)
- puppet
- RedHat
- chef
- 설정이 힘들다
- Ansible
- 배우기 쉽다
Vagrant 초기파일 생성
- Vagrantfile : Vagrant를 Provisioning 하기 위한 초기파일
- Host가 직접 이름만 갖게하여 생성해도 무방
- powershell에서 진행
- 해당 경로에 한글이 존재하여 characterset 오류가 발생하였다
VM의 Hostname 수정 및 base image 지정
- Vagrantfile 수정(VScode 사용)
- | | : 단락구문 지정
- 설정해 놓은 이름으로 무조건 시작해야 한다
- 업데이트가 자동으로 되지 않아 오류가 많이 발생하므로 vbguest 꼭 넣어주기(GuestAddition 문제)
- 원하는대로 ip 설정불가(IaC의 의미가 퇴색된다)
https://app.vagrantup.com/boxes/search
Vagrant Cloud by HashiCorp
Vagrant Cloud by HashiCorp
app.vagrantup.com
- 해당 위치에서 Base Image 확인 가능
Vagrant 실행(VM 생성) 및 VM 삭제
- vagrant-vbguest : 가상머신과 VirtualBox 호스트의 Guest Additions 버전이
다를 경우에 알맞은 버전을 설치해 주는 플러그인
- sudo su - 를 통해 root의 권한을 가질 수 있다
- 필히, vm 삭제 후 설정 변경을 해야 잔재가 남지 않는다
포트포워딩 및 Shell 사용
- 단락명.vm.network를 통해 설정
- ssh는 Vagrant에서는 2222번으로 포트포워딩 되어있다
- 포트포워딩하려는 포트가 존재할 때는 오류가 뜨므로 실행해보고 오류가 발생 시 포트 변경 진행
- auto_correct=true를 통해 포트포워딩 오류해결 가능
VM 설정 및 폴더 동기화
- selinux가 막고 있어 permission denied가 나는 것
VM 동시에 2개 생성
- tag 변경, hostname 변경, vm 이름 변경, 포트 변경(겹치면 x) 진행
- end 위치 잘 생각하자!
FTP 서버 생성
- config.vm.provision 라인에서 path를 주어 스크립트 파일을 적용할 수 있다
- 같은 폴더에 위치하는게 아무래도 편하겠죠?