3개의 가상 Host를 이용하여 ODL cluster를 테스트 할수 있는 환경 구축해보도록 한다.
테스트에 사용된 자료는 OpenDayLight Core Tutorials 이다. 다운 받도록 하자.
소스를 다운받으면 clustering 폴더 안에
- script
- shardingsimple
- singletonhs
- singletonsimple
- src
위와 같이 3개의 Maven 프로젝트가 있는데 이중 script 폴더는 cluster 환경을 구축하고 소스를 배포하는데 필요한 스크립트와 메뉴얼이 있고 나머지 3개의 폴더는 각각 cluster를 활용한 프로젝트이다.(src 폴더는 무시하도록하자)
지금부터는 scipts/site/asciidoc 폴더에 있는 scripts-user-manual.adoc 파일을 기반으로 설명하도록 하겠다.
scripts-user-manual.adoc 파일을 보면 docker를 이용하여 3개의 가상 호스트를 띄우고 ansible을 이용하여 컴파일된 소스를 각각의 호스트에 자동으로 배포하는 방법이 설명되어 있다.
1. Docker 를 이용하여 3개의 Host 띄우기
당연한 얘기지만 일단 google 검색을 이용하여 docker를 설치한뒤 다음 명령어들을 입력해줍니다.
docker image는 ubuntu가 설치 됩니다. 작업할때는 root 로 하였는데 일반계정으로 작업 하고 싶으시면 docker 권한 설정을 하시면 됩니다.
필수사항 : jre 1.8
1 | root # cd coretutorials/clustering/scripts/node |
1 | foo@bar:~$ whoami |
1 | root # docker save -o odl-base.tar clustering/odlbase:v1.1 |
여기까지 문제 없이 했다면 3개의 docker instance가 떠있을것이다.
각 instance에 접속하는 방법은 ssh root@172.17.0.2 ssh root@172.17.0.3 ssh root@172.17.0.4 으로 비밀번호는 docker123 이다.
다음으로 ssh인증키 설정이다.
1 | 인증키 생성 방법 |
docker를 설치한 호스트의 ~/.ssh/authorized_keys에 위에서 실행한 3개의 docker instance의 id_rsa.pub 파일을 복사해준다.
- ssh-copy-id <username>@<host>
혹은 수동으로 직접 id_rsa.pub 파일을 authorized_keys에 등록해주어도 된다.
- docker host에는 3개 instance 의 id_rsa.pub 파일을 등록해주면 되고 instance 3개에는 docker host의 id_rsa.pub 파일을 등록해주면 된다.
여기까지 ODL clustering 을 실행 할 수 있는 환경설정이다.