첫번째 레고! 

애완동물 가게, 펫샵!!






시리즈 다 만들고 시푸당.....





'취미 ㅋㅋ' 카테고리의 다른 글

레고 심슨 퀵이마트  (0) 2015.11.30
레고 캠퍼밴  (0) 2015.11.30
버터치킨커리  (0) 2015.09.24
근대된장국 가지덮밥(안심근대가지덮밥, 가지표고덮밥)  (0) 2015.09.24
밑반찬  (0) 2015.09.24


# 설치환경


OS X Yosemite (ver. 10.10.5)

Intel core i5(2.7GHz)

8GB RAM


Ubuntu 14.04 (Virtual Box) 

DevStack (Kilo)



# 설치진행


* docker는 기본적으로 Host OS위에 새로운  OS를 생성하지 않고 Host OS의 자원을  system call을 사용하여 사용하기 때문에(cgroups, namespace) root 권한이 필요



1. Virtual Machine 생성



- Ubuntu 14.04

- 2 cpus

- 2GB ram

- network 

net 1 : NAT

net 2 : bridge network




2. 설치 후 기본설정

: 네트워크 ip, 패키지다운로드 및 파이썬 모듈을 사용하기 위한 패키지 설치 등등


$ apt-get update

$ sudo apt-get -y install git git-review python-pip python-dev

$ sudo apt-get -y upgrade



3. Docker 설치


> GPG Key 및 docker repo 추가

$ sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

* 한번씩 서버가 죽는 거 같아 한번은 다른 서버찾아서 했는데.. 잘 모르겠음....



$ sudo vi /etc/apt/sources.list.d/docker.list

deb https://apt.dockerproject.org/repo ubuntu-trusty main    ; on Ubuntu Trusty 14.04 (LTS)




$ sudo apt-get update



> docker 설치 사전 확인 조치


$ sudo apt-get purge lxc-docker



$ apt-cache policy docker-engine




> 추가 권장


대상 : Ubuntu 14.04 Trusty (LTS), 15.04 Vivid, 15.10 Wily

내용 : "linux-image-extra" kernel package 설치

이유 : "aufs" storage driver 지원

*aufs 참고 url : http://www.joinc.co.kr/modules/moniwiki/wiki.php/man/12/docker/aufs


$ sudo apt-get install linux-image-extra-$(uname -r)


 


> docker 설치 진행


$ sudo apt-get install docker-engine




> 확인 


$ sudo service docker start

$ sudo docker run hello-world

sudo service docker restart




> 옵션 사항


sudo usermod -aG docker user


* docker daemon은 TCP port 대신에 UNIX socket에 바인드 함

UNIX Socket은 sudo 권한을 가져야 하기때문에 docker daemon은 항상 root 권한으로 실행되어야 함 

> docker 커맨드에서 sudo를 사용하지 않기 위해서 "docker"라는 Unix Group과 user를 등록.

docker daemon이 실행될 때, docker group에 Unix의 R/W 가능한 권한을 부여함


$ sudo vi /etc/default/grub

GRUB_CMDLINE_LINUX="cgroup_enale=memory swapaccount=1"


WARNING: Your kernel does not support cgroup swap limit. WARNING: Your

kernel does not support swap limit capabilities. Limitation discarded.

이런 메시지가 나온 경우, 메모리 스왑부분 설정




sudo update-grub



$ sudo reboot now



> docker 설치 확인


$ docker --version





4. OpenStack(Devstack, nova-docker plusgin) 설치


> nova-docker plugin 설치 진행


$ git clone -b stable/kilo https://github.com/stackforge/nova-docker.git

$ cd nova-docker

/nova-docker$ sudo pip install .






> nova-docker plugin 설치 확인


$ sudo pip list | grep nova-docker




> OpenStack Devstack 설치


$ git clone -b stable/kilo https://github.com/openstack-dev/devstack.git





$ cd devstack

/devstack$ vi local.conf



local.conf는 여기서 복사해서 사용했음.

https://github.com/smakam/openstack/blob/master/docker/local.conf_novadocker

* novnc 기능의 사용을 위해 "enable_service n-novnc"를 추가 

* public network gateway 지정하기



/devstack$ ./stack.sh


> 설치완료



> nova rootwrap filter 설정

$ sudo cp nova-docker/etc/nova/rootwrap.d/docker.filters /etc/nova/rootwrap.d/ 


* openstack rootwrap : https://wiki.openstack.org/wiki/Rootwrap




5. nova with docker 


> Openstack 사용권한


$ cd devstack

/devstack $ . openrc admin


* demo는 . openrc demo


=> . openrc admin를 수했했는데, glance 이미지랑 인스턴스가 demo tenant로 생성되길래 환경변수 뿌려보니..

tenant name이 demo 였음


OS_TENANT_NAME="demo"

OS_USERNAME="admin"



> docker 이미지 생성


$ docker pull nginx    ; 받아오기


* 검색 : docker search ubuntu





$ docker images    ; 확인




$ docker save nginx | glance image-create --is-public=True --container-format=docker --disk-format=raw --name nginx    ; glance image로 등록




$ glance image-list    ; 확인




$ nova boot --flavor m1.small --image nginx nginxtest    ; 인스턴스 생성




$ docker ps    ; docker 동작 process 확인



$ nova list    ; instacne 확인




6. dashboard









# Ubuntu 컨테이너 기반의 인스턴스 생성


> search 명령어 사용




> ubuntu 이미지 pulling



* 버전 명시는 저런식으로 가능



> docker 이미지 저장 후 glance 이미지로 등록





> Dashboard 확인




> 인스턴스 생성




vnc 접속이 안되서 해당 옵션 주고 다시 시도...

devstack은 서비스가 아닌 screen기반이라고 함(정확히 뭔지는 모르겠지만)

nova.conf를 수정한 후 screen update를 수행해 적용할 수 있음


네트워크 설정해야함




생각없이 설치하다가 문득 떠오른 말이 있다.

제대로 해야지 남는다는..



지금부터라도 기록을 습관화 하자!



맥북에서 VBox에 VM을 생성하고 NAT외에 Host-bridge를 추가하여 네트워크를 2개를 설정하였다. 

$ ifconfig eth1 up 


터미널에서 ssh 접속해서 사용 중 이었는데, 새로운 VM을 만들고 접속하려니 요런 에러가 발생했다. 

정확한 이유는 잘 모르지만 업데이트가 필요한 듯?


adminui-MacBook-Pro:~ Jennie$ ssh user@192.168.56.101

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!

Someone could be eavesdropping on you right now (man-in-the-middle attack)!

It is also possible that a host key has just been changed.

The fingerprint for the RSA key sent by the remote host is


Please contact your system administrator.

Add correct host key in /Users/admin/.ssh/known_hosts to get rid of this message.

Offending RSA key in /Users/admin/.ssh/known_hosts:1

RSA host key for 192.168.56.101 has changed and you have requested strict checking.

Host key verification failed. 


adminui-MacBook-Pro:~ Jennie$ ssh-keygen -R 192.168.56.101

# Host 192.168.56.101 found: line 1 type RSA

/Users/admin/.ssh/known_hosts updated.

Original contents retained as /Users/admin/.ssh/known_hosts.old


$ ssh-keygen ?

위의 명령어로 옵션을 확인하니 저 알려진 호스트관련 파일을 삭제하는 것 같다.


-R hostname Remove host from known_hosts file.


암튼 그 후에 다시 ssh 접속을 시도해보니 잘되었다.


adminui-MacBook-Pro:~ Jennie$ ssh user@192.168.56.101

The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established.

RSA key fingerprint is e9:53:f7:f8:ac:32:89:73:11:b4:dd:fb:ec:76:5f:47.

Are you sure you want to continue connecting (yes/no)? yes


...


user@192.168.56.101's password: 

Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-25-generic x86_64)





+ Recent posts