2015년 3월 3일 화요일

openstack 인스턴스 생성과 연결 논리도

openstack 인스턴스 생성과 연결 논리도


이번에 openstack을 설치하면서 openstack이 생소한 분들을 위해서 알아보기 쉽게 여러가지 논리도를 만들었는데요. 서비스를 하기 위해서 controller, compute, network node가 어떻게 작동하여 인스턴스가 생성되는지와 사용자가 어떻게 인스턴스와 연결이 되는지 두 가지를 그림으로 표현을 해보았습니다.



▶ 인스턴스 생성 논리도


openstack을 구축했다면 제일 먼저 해보고 싶은 것이 인스턴스를 생성하는 것일텐데요. 이 인스턴스 하나가 생성이 되려면 지금까지 만들어 놓았던 각각의 node들이 모두 유기적으로 동작합니다. 다음의 그림을 먼저 봐주세요.



1. 사용자들이 공인 네트워크를 타고 openstack으로 접속을 합니다. 도메인이 있다면 도메인으로 접속하고 도메인이 없다면 http://123.45.67.89/dashboard 이렇게 openstack으로 접속을 할 것입니다.

2. openstack 대시보드에서 계정을 입력하는 단계를 거칩니다. 계정을 입력하게 되면 keystone에 계정이 등록이 되어 있는지 비밀번호는 맞는지 그리고 role은 무엇이고 어떤 tenant에 들어 있는지 비교를 하게되고 계정과 비밀번호가 일치한다면 비로소 openstack으로 들어가게 되는거죠!

3. 인스턴스를 생성하는 단계입니다. 일단은 controller에 설치된 nova의 도움을 받아서 이미지를 마운트하게 되는데요. 여기서 자신이 원하는 이미지와 사양을 선택할 수 있습니다. 예를 들면 centos6.5 64bit와 vcpu1개, ram1g를 이용하는 20gb 하드웨어가 되겠습니다. 만약 키페어를 만들었다면 여기서 키페어도 가지고 compute로 넘어갑니다.

4. 저장소를 선택하는 단계입니다. openstack은 기본으로 설치되는 일반 저장소와 추가적으로 설치할 수 있는 cinder와 swift를 저장소로 이용합니다. 만약 일반 저장소를 이용한다면 여기서 추가적인 선택을 하지 않고 넘어가도 되고 cinder 또는 swift를 이용한다면 임의로 용량을 선택할 수 있습니다.

5. 인스턴스가 생성되기 바로 전 단계입니다. 이미지와 저장소, 하드웨어 정보를 controller의 nova가 compute의 nova에게 전달해줍니다. 그러면 compute의 nova는 network node의 neutron에게 자신이 생성하게 될 인스턴스의 IP 주소를 요청하고 IP 주소를 받습니다.

6. 인스턴스 생성단계입니다. 전 단계를 모두 성공했다면 약간의 인내심 테스트를 거치고 우리가 원했던 centos6.5 64bit 이미지가 생성됩니다.

▶ 인스턴스 - 사용자 연결 논리도


인스턴스가 생성이 되었다면 리눅스면 putty나 기타 ssh 프로그램을 통해서 접속하고 윈도우는 원격 데스크탑을 통해서 접속을 해야하죠. 사용자가 인스턴스에 접속을 시도하려면 network node를 통과해야 합니다. 그림을 먼저 봐주세요.



1. 위와 마찬가지로 사용자는 openstack 상부에 있는 물리 라우터를 거쳐서 접속을 합니다.

2. network node를 설치하면서 따로 지정해준 외부 연결 인터페이스로 들어갑니다. 위의 예는 eth0으로 했지만 각자 설정한 것에 따라서 eth2, eth3과 같이 달라질 수 있습니다.

3. 외부 연결 인터페이스로 접속을 했다면 network node에 있는 가상 라우터를 마주치게 됩니다. 가상 라우터를 맞게 찾아 왔다면 인스턴스가 속한 가상 네트워크까지 올바르게 찾아왔다는 말이죠?

4. compute node에 있는 인스턴스를 찾아가기 위해서 가상 라우터 주소, 가상 네트워크, 인스턴스 주소 등을 network node와 compute node를 직접 연결하고 있는 터널 인터페이스의 도움을 받아 모두 가지고 인스턴스가 있는 compute node로 갑니다.

5. compute node에 설치된 여러 인스턴스 중 우리가 원하는 정보와 일치하는 인스턴스를 찾아서 연결해주는 단계입니다.

이렇게 사용자는 조금은 복잡한 방법으로 생성한 인스턴스를 찾아갑니다. 마치 연어와 같지 않나요?

이상~!

댓글 없음:

댓글 쓰기