레이블이 vagrant인 게시물을 표시합니다. 모든 게시물 표시
레이블이 vagrant인 게시물을 표시합니다. 모든 게시물 표시

2014년 3월 7일 금요일

vagrant 를 이용하여 개발환경 만들기

vagrant 를 이용하여 맥프로에 개발 환경을 만들었다. 그 과정을 간단하게 정리해 본다.

우선 vagrant 를 다운로드 받자.

http://www.vagrantup.com/downloads.html

그리고 virtualbox 를 다운로드 받아 설치한다.

https://www.virtualbox.org/wiki/Downloads

개발 환경을 만들기 위해서 생성할 Host 의 필요한 네트워크 조건은

  • 인터넷이 되어야 한다.
  • Host와 Guest간에 연결되어야한다.
  • 독립 네트워크만 구성하면 된다.
그런데 VirtualBox 의 네트워크에는 다음의 3가지 사항이 있었다.
  • Bridged Networking : 위의 2가지 조건을 만족하나 네트워크 환경을 만들고 IP 구성을 하여야 한다. 네트워크 환경을 만들수 없기 때문에 개발환경에는 부적합했다.
  • NAT(Network Address Translation) : Host 와 Guest 간에 연결이 불가하나 인터넷이 가능하다.
  • Host Only Networking : Host 와 Guest 간에 연결이 가능하다 인터넷이 불가능하다.


개발환경을 위해 필요한 네트워크 구성은 NAT 와 Host Only 를 동시에 사용하면 독립 네트워크도 구성하고 인터넷도 사용할 수 있게 만들수 있다.
vagrant 를 이용하여 구성해 보았다. 만들려는 서버는 우선 AppServer 로 가장 기본적인 Tomcat 와 mysql 이 설치된 개발서버였다.
편의를 위해 boxes 폴더를 만들고 appserver 폴더를 만들었다.

mkdir boxes
cd boxes
mkdir appserver
cd appserver

그리고 적당한 vagrant box 를 vagrantbox.es 에서 선정하였다. ubuntu 를 주로 사용하기에 "Ubuntu precise 64 Virtualbox" 를 선택했다.

vagrant box add appserver http://files.vagrantup.com/precise64.box

다운로드 완료후 초기화 실행

vagrant init appserver

이렇게 하면 appserver 폴더에 Vagrantfile 이 생성된다. 이를 아래와 같이 추가하였다.

Vagrant::Config.run do |config|
  config.vm.box = "appserver"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.network :hostonly, "33.33.33.10"
end


IP 는 취행이니 편하게 설정한다. 위와 같이 설정하면 네트워크가 NAT 와 Host Only 를 모두 사용할 수 있다. Virtualbox 를 살펴보면 어댑터1은 "NAT"로 어댑터2는 "호스트 전용 어댑터"로 설정되어 있는 것을 확인할 수 있다.

Vagrantfile 를 수정한 후 해당 VM을 실행하였다.

vagrant up

그리고 접속하기 

vagrant ssh

vagrant 라는 계정으로 접속되는 것을 확인할 수 있다. 참고로 비밀번호는 vagrant 이다.

이런 방식으로 dbserver 를 포함하여 몇개의 서버를 더 만들었다.

시간이 될 때 hadoop와 zookeeper 를 분산 모드로 설치하는 것을 하도록 한다.

2014년 2월 18일 화요일

docker 맛보기

맥북프로를 구매했다.
좀 더 다양하게 여러가지를 수행하고 싶은데 맥북에어로서는 한계가 있어서 맥북프로를 구매했다.

그리고 docker를 설치해보기로 했다.

참고 페이지 : http://docs.docker.io/en/latest/installation/vagrant/

1. virtualbox 를 다운로드 받아 설치 : https://www.virtualbox.org/

2. vagrant 를 다운로드 받아 설치 : http://www.vagrantup.com/

3. git 으로 docker source 다운로드
    git clone https://github.com/dotcloud/docker.git

4. 다운로드 받은 docker 로 이동
    cd docker

5. docker 폴더를 살펴보니 이상한 것들이 많다.
AUTHORS Vagrantfile dockerinit nat tags.goCHANGELOG.md api dockerversion networkdriver tags_unit_test.goCONTRIBUTING.md archive docs pkg utilsDockerfile auth engine registry utils.goFIXME buildfile.go execdriver runconfig utils_test.goLICENSE commands_unit_test.go graph.go runtime.go vendorMAINTAINERS config.go graphdriver server.go version.goMakefile container.go hack server_unit_test.go volumes.goNOTICE container_unit_test.go image.go sorter.goREADME.md contrib integration state.goVERSION docker links sysinit

6. vagrant 실행
    vagrant up

  • vagrant 를 실행하면 ubuntu 64bit 를 다운로드 받는다.
  • 해당 ubuntu 에는 docker 가 이미 설치되어 있다.    

7. vagrant 를 통해 ubuntu 에 접속
    vagrant ssh

8. 이제부터 docker 를 공부해서 사용해 본다.
    아래 Hello World 를 출력하는 것 외에도 많은 예제가 있으니 참고하면 된다.
    http://docs.docker.io/en/latest/examples/hello_world/

그런데 중간에 나온 vagrant 를 좀더 알아야겠다.

쉽게 이해할 수 있는 발표자료 : http://www.slideshare.net/arawnkr/vagrant-chef
조대협님의 블로그 : http://bcho.tistory.com/806
vagrant box list : http://www.vagrantbox.es/

위의 box list 를 활용하여 개발환경을 구축하는 방법 : http://ppiazi.tistory.com/m/post/view/id/230

이로서 맥북프로에서 다양한 개발 환경을 만들어 사용할 수 있게 되었다.
하지만 아직 네트워크에 대하여는 지식이 매우 부족한 편이다.
어제 갔던 Openstack Day In Korea 에서 네트워크에 대한 질문을 하고 싶었는데 여건이 안되어서 물어보지 못했다.

나중에 네트워크에 대하여 좀 더 공부해 봐야겠다.


2014년 2월 12일 수요일

docker 를 따라가기

어떤 분의 페북글에 docker.io 에 대하여 언급이 나와 이를 찾아보게되었다.

도커(docker)는 기존의 가상화 어플리케이션에서 하드웨어 전체를 가상화하는 것과 달리 리눅스 컨테이너를 활용하고 있는 도커는 아주 빠르고 쉽게 가상화 환경을 사용할 수 있도록 해준다.

http://docker.io

docker 에 대한 발표자료

http://www.slideshare.net/modestjude/dockerat-deview-2013

발표 내용을 보다가 궁금해진 hipache. 분산 프록시

https://github.com/dotcloud/hipache


다시 docker 에 대한 개념 정리... 역시 조대협님!!!

http://bcho.tistory.com/805

이어서 등장한 vagrant

http://bcho.tistory.com/806


다음에 도전하고 싶은 것은

맥북프로를 구매하여 vagrant 와 docker 를 이용하여 개발 장비 구축

Reference

* http://judekim.tistory.com/category/Programmer/Docker