OpenStack Class2014.09.01 16:39

안녕하세요~!!


주말은 잘 보내셨나요? 전 너무 잘 먹고 잘 쉬었나 봅니다. 지난주에 빠졌던 몸무게가 다시 원상복귀 되었거든요~!! ㅎㅎ


이번 강좌는 오픈스택 서비스들을 소개하는 마지막 강좌입니다. 어떤 서비스들이 남았는지 궁금하시죠??

오픈스택은 컴퓨트, 오브젝트 스토리지, 이미지, 인증, 네트워크, 블록 스토리지, 데쉬보드 서비스에 이어 Havana 버전으로 오면서 텔레미터, 오케스트레이션, 데이터베이스 서비스가 추가되었습니다.


오늘 소개할 서비스는 바로 텔레미터 서비스인 Ceilometer, 오케스트레이션 서비스인 Heat, 데이터베이스 서비스인 Trove입니다. 그럼, 한번 시작해 볼까요?

 

텔레미터 서비스 Ceilometer

텔레미터 서비스인 Ceilometer는 클라우드에서 배포된 자원의 사용량 및 성능을 측정하여 사용자가 자원의 상태를 모니터링 할 수 있는 기능을 제공합니다. 또한 여러 분산된 클라우드 시스템의 자원 상태를 모니터링 함으로써 가시성과 통찰력을 제공하고, 자원의 통계를 확인 할 수 있습니다.


Ceilometer는 에이전트, 컬렉터, 알림과 데이터 전송을 위한 버스들, 저장소, API로 구성되며, 아래 그림과 같이 동작합니다.



그럼, 각각의 구성요소들이 어떤 역할을 하는지 다시 한번 정리해 보겠습니다.

-      컴퓨트 에이전트 (ceilometer-agent-compute)

각각의 컴퓨팅 노드에 설치되어 실행되며, 자원 활용 통계로 사용됩니다.

-      센트럴 에이전트 (ceilometer-agent-central)

중앙 관리 서버에서 실행되며, 인스턴스에 연결되지 않은 자원이나 컴퓨트 노드에 대한 활용 가능 자원 통계를 폴링합니다.

-      컬렉터 (ceilometer-collector)

컬렉터는 중앙 관리 서버에서 실행되며 메시지 큐(에이전트에서 오는 미터링 데이터에 대한 알림)를 모니터링 할 수 있습니다. 또한 알림 메시지를 처리한 후 해당 메시지를 미터링으로 전환하고 해당 항목을 사용하여 메시지 버스로 밖으로 다시 전송합니다. 텔레미터 메시지는 수정 없이 데이터 저장소에 기록됩니다..

-      알람 통지 (ceilometer-alarm-notifier)

하나 이상의 중앙 관리 서버에서 실행되며, 샘플 수집을 위한 임계 값의 평가에 따라 알람을 설정 할 수 있습니다.

-      데이터 저장소

데이터베이스 동시 처리능력을 읽고 저장합니다.

-      API 서버 (ceilometer-api)

하나 이상의 중앙 관리 서버에서 실행되며 데이터 저장소로부터의 데이터 액세스를 제공합니다.

 


오케스트레이션 서비스 Heat

오케스트레이션이라는 뜻은 자원을 관리하고, 배치 및 정렬을 자동화 한다는 뜻입니다. 클라우드 컴퓨팅 서비스에서 인스턴스를 하나 생성하기 위해서는 여러 과정이 필요합니다. 인증 키를 발급 받아야 하고, 네트워크가 생성되었는지 확인해야 하며, 보안 룰도 미리 생성해 두어야 합니다. 이런 일련의 과정이 끝나야만 인스턴스를 하나 생성할 수 있습니다.


오케스트레이션은 이런 일련의 과정을 자동화하여 쉽게 인프라를 배포할 수 있도록 지원하는 템플릿 기반의 엔진입니다. 오케스트레이션에서 사용되는 템플릿 언어는 인프라뿐만 아니라 서비스 및 응용 프로그램의 전체 프로비저닝을 자동화하고, 컴퓨팅, 스토리지 및 네트워킹 구성뿐만 아니라 배포 후 작업을 지정할 수 있습니다. 텔레미터 서비스와의 통합을 통해, 오케스트레이션 엔진은 특정 인프라 요소의 자동 스케일링을 수행 할 수 있습니다.


Heat는 아래와 같은 컴포넌트로 구성됩니다.

-      Heat

Heat 툴은 AWS CloudFormation APIHeat API가 서로 커뮤니케이션 할 수 있는 CLI입니다

-      Heat-api

Heat-api 컴포넌트는 RPC Heat 엔진에 전송하여 요청된 API를 처리하는 REST API를 제공합니다.

-      Heat-api-cfn

Heat-api-cfn 컴포넌트는 AWS CloudFormation과 호환되는 AWS 타입의 Query API를 제공합니다.

-      Heat-engine

Heat engine은 템플릿을 생성하고, 컨슈머(consumer: API를 사용하려고 접근하는 어플리케이션이나 서비스) API를 다시 이벤트로 제공하는 오케스트레이션의 주 작업을 수행합니다.

 


데이터베이스 서비스 Trove

TroveOpenStack의 데이터베이스 서비스입니다. Trove는 오픈스택에서 실행될 수 있도록 설계되었으며, 복잡한 관리 작업을 쉽게 처리 하기 위해 부담 없이 관계 형 데이터베이스의 기능을 활용 할 수 있도록 지원합니다. Trove를 이용해 클라우드 사용자와 데이터베이스 관리자는 필요에 따라 여러 개의 데이터베이스 인스턴스를 제공하고 관리할 수 있습니다.

Trove는 위 그림과 같은 작업 흐름을 가지며, 아래와 같은 컴포넌트로 구성됩니다.

-      Python-troveclient

클라이언트 창에서 커맨드 라인 방식의 Trove API를 실행할 수 있도록 지원합니다.

-      Trove-api

RESTful방식의 JSON을 지원하며, Trove 인스턴스를 관리하고 프로비저닝 합니다.

-      Trove-conductor

호스트에서 실행되는 서비스로 호스트의 정보를 업데이트할 경우 게스트 인스턴스 메시지를 수신합니다.

-      Trove-taskmanager

인스턴스 프로비저닝을 지원하고, 인스턴스의 라이프사이클을 관리하며, 인스턴스 작업을 수행합니다.

-      Trove-guestagent

게스트 인스턴스 내에서 실행되며, 데이터베이스 작업을 실행하고 관리합니다.



이렇게 새로 추가된 서비스들을 정리하면서 느낀것은 아직까지는 이런 서비스들의 안정성이 입증되지 않았고, 많이 사용되는 부분이 아니다는 것이였습니다. 그래서, 해당 정보를 찾아보기가 매우 어려웠습니다. 다음에 이런 서비스들을 제대로 사용할 기회가 된다면 그때는 좀 더 구체적인 정보를 정리해 보도록 하겠습니다.


지금까지 오픈스택 서비스를 소개하고 알아보았습니다. 다음에는 오픈스택 설치 방법들에 대해 알아보도록 하겠습니다.

Posted by 나리 짱!!! naleejang