본문으로 바로가기

Logical Architecture

  • OpenStack 문서에서 나와있는 Logical Architecture 입니다.

간략한 인스턴스 생성 과정

  1. 사용자가 Horizon을 통해 인스턴스 생성 요청
  2. Nova는 받은 인스턴스 요청에 대해 사용자에 대한 권한 확인
  3. Keystone에서 권한 확인
  4. Nova는 인스턴스에 필요한 이미지와 볼륨, 네트워크를 할당받기 위해 요청
  5. 요청받은 Cinder(Block), Glance(Image), Neutron(Networking)에서 모두 Keystone에 auth-token을 이용하여 사용자 확인
  6. 인증되면 각각의 요청에 대해 Nova로 응답
  7. 인스턴스 생성 완료

Heat 프로젝트 과정

  • Heat는 HOT를 통해 여러 프로젝트로 한 번에 요청을 보내 생성 가능
  • HOT 예제

  • 빨간색 선
    • 위의 템플릿 예제의 요청 과정
    • Horizon을 통해 위의 HOT 파일을 등록하여 생성 요청
    • Heat는 받은 요청을 처리하기 위해 heat-engine에서 필요한 프로젝트들로 API 요청
    • Nova에서는 인스턴스 생성, Neutron에서는 라우터, 스위치 등 생성
  • 파란색 선
    • 위의 예제 말고도 다른 주요 프로젝트와 연결되어 있어 한 번에 생성 가능

Ceilometer 프로젝트 모니터링 과정

Ceilometer Architecture

  • Cilometer는 Polling Agents와 Notification Agents를 통해 다른 프로젝트들의 데이터와 이벤트를 바당 처리
  • Panko
    • 주어진 시간동안 오픈스택 리소스의 상태 정보를 캡처할 수 있는 메타 데이터 인덱싱, 이벤트 저장 서비스를 제공
    • 감사 및 시스템 디버깅과 같은 사용 사례를 위해 단기 및 장기 데이터를 저장하는 확장 가능한 수단을 활성화
    • 로그 및 시스템 이벤트 작업과 같은 문서 지향 데이터를 캡처하도록 설계된 이벤트 저장소 프로젝트
  • Aodh
    • Ceilometer에서 수집 한 샘플 또는 이벤트 데이터에 대해 정의 된 규칙을 기반으로 작업을 트리거
    • 사용자 정의 규칙이 위반 될 때 경고를 보낼 수 있는 경보 서비스
  • Gnocchi
    • 저장 및 쿼리를 최적화하기 위해 시계열 형식으로 측정 데이터를 캡처
    • TDBaaS(Time Series Database as a Service) 프로젝트

Polling Agetns와 Notification Agents

  • Polling Agents는 다른 프로젝트들의 데이터를 API를 이용하여 수집
  • Notification Agents는 프로젝트에서 발생시키는 이벤트나 알림을 Notification Bus에서 수집

Logical Architecture

  • 빨간색 선
    • central agent로 compute를 제외한 다른 프로젝트들에 대해 데이터 Polling
  • 파란색 선
    • compute agent로 compute와 관련된 데이터 Polling
  • 초록 박스
    • Notification Agent

Ironic 인스턴스 생성 과정

  1. 사용자는 Horizon을 통해 베어 메탈 서버 생성 요청
    • Horizon은 Nova로 해당 요청 전송
    • Nova는 Nova APi와 Nova Scheduler를 통해 Nova Compute 서비스로 전달
  2. Nova Compute 서비스는 이 요청을 Ironic 서비스로 넘겨주며, Ironic API에서 컨덕터, 드라이버로 전달되어 물리 서버를 프로비저닝
  3. Ironic 서비스는 베어 메탈 인스턴스를 프로비저닝하는데 필요한 이미지, 네트워크 및 기타 리소스를 다른 프로젝트와 통신하여 설정

Swift

  • Sahara <-> Swift = saves data or job binary in
  • Ironic -> Swift = saves data
  • 구조에서는 nova와 cinder 그리고 glance와 연결되어 있지 않지만
    • Glance -> Swift = Stores images in
    • Nova -> Swift = 데이터 저장
    • Cinder -> Swift = Backups volumes in

Sahara

  • Sahara <-> Swift = saves data or job binary in
  • Sahara <-> Nova = 데이터 처리 클러스터를 위한 VM을 프로비저닝
  • Sahara <-> Glance = Registers Hadoop images in
  • Sahara <-> Neutron = 클러스터 네트워킹 제공
  • Sahara <-> Cinder = VM 인스턴스 용 블록 스토리지 프로비저닝
  • Sahara <-> Ironic = 데이터 처리 클러스터를 위한 베어 메탈 노드를 프로비저닝
  • Sahara <-> Heat = 데이터 처리 클러스터 배포를 프로비저닝하고 오케스트레이션하는데 사용

Trove

참고자료

반응형