엄범


VM 이미지를 통째로 배포하는 것 대비 vagrant를 사용해 배포하면 다음과 같은 이점이 있음.


1. 환경에 따라 달라지는 설정이 있는 경우, 예를 들어 배포한 가상머신들이 특정 서버 IP를 바라보도록 설정해야 하는 경우 vagrant를 사용하면 도움이 될 수 있음.


2. port forwarding 같은 가상머신 외부에서 설정해주어야 하는 부분까지 미리 설정해서 배포할 수 있음. VM 이미지만 배포하게 되면 유저가 받아서 설치할 때 직접 포트포워딩 설정하고 방화벽 열어주어야 함. 실력 없는 엔지니어라면 이런거 하다가 짜증낼 수 있기 때문에, vagrant를 이용하면 이런 상황을 예방할 수 있음.


3. VM 설치 이후 앤서블같은 provisioning shell script가 실행되도록 구성할 수 있어 손쉬운 프로비저닝 가능.

근데 이건 미리 설정 다해놓은 VM 이미지 배포하는 것 대비 큰 이점은 없을 것 같은데. 다만 이미지 내에 포함시켜 배포해야 하는 프로그램이 다양한 경우, VM 이미지로 배포하려고 하면

1. 이미지 베이스 + 프로그램1

2. 이미지 베이스 + 프로그램2

...

이런 식이 되어버려서 VM 이미지를 굉장히 많이 만들어야 하므로 시간이나 자원이나 낭비가 심하다. 이런 경우는 베이스 이미지만 다운로드 받도록 하고 이후 프로그램 설치는 앤서블 같은걸로 처리하면 깔끔해지기는 함.


기타

windows os를 올려도 vagrant ssh로 접근 가능한데, 보니까 cygwin을 사용한다. winRM


Box 만들기

기존에 vagrant cloud에 올라가있는 박스가 기능이 모자라거나 하는 경우 직접 box를 만들 수 있다.

아예 처음부터 만들 수도 있으나 이러면 귀찮으니, 기존 클라우드에 올라가있는 box를 기반으로 필요한 프로그램을 추가한 것을 다시 box로 만드는 식으로 해도 된다.

https://blog.asamaru.net/2015/10/14/creating-a-vagrant-base-box/


'DevOps & Server' 카테고리의 다른 글

젠킨스 Jenkins  (0) 2019.05.09
[Gradle] build, jar 배포, IntelliJ 설정  (0) 2019.04.10
vagrant  (0) 2018.11.02
ansible 앤서블 설명  (0) 2018.10.30
docker  (0) 2018.10.27
웹서버 / WAS 정리  (0) 2017.06.17