ODL(OpenDayLight) 기본 튜토리얼 #7_1 – ODL Cluster 환경 구축

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
2
3
4
5
6
7
8
9
root # cd coretutorials/clustering/scripts/node
//git 에서 다운받은 소스에 포함도니 docker 생성 파일을 이용하기 위해
root # docker build -t clustering/odlbase:v1.1 .
//docker container 생성
root # docker images

ex.) [root@ODL-Cluster#1 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE
clustering/odlbase v1.1 be2bcc26a885 4 days ago 518 MB
ubuntu 16.04 0ef2e08ed3fa 13 days ago 130 MB
1
2
foo@bar:~$ whoami
foo
1
2
3
4
5
6
7
8
9
root # docker save -o odl-base.tar clustering/odlbase:v1.1
//container 저장
root # docker load -i odl-base.tar
//위에서 저장한 docker container 가 재대로 생성이 되는지 확인하기 위해
root # docker run -d –name member-1 -h member-1 clustering/odlbase:v1.1
//3개의 인스턴트 실행
root # docker run -d –name member-2 -h member-2 clustering/odlbase:v1.1 # docker run -d –name member-3 -h member-3 clustering/odlbase:v1.1
root # docker ps
// docker instance 실행 확인

여기까지 문제 없이 했다면 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
2
3
인증키 생성 방법
$ ssh-keygen -t rsa
//id_rsa.pub , id_rsa 파일 생성

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 을 실행 할 수 있는 환경설정이다.

공유하기