OpenStack 개념
<aside>
- 클라우드 인프라를 구축하고 관리할 수 있는 오픈소스 플랫폼
- 컴퓨터 하드웨어 위에 인프라 서비스를 제공하여 IaaS를 구축하게 도와주는 오픈 소스 플랫폼으로 정의 가능
- Private cloud 구축
</aside>
핵심 구성요소
<aside>

- Core componets
- Nova
- Neutron
- Swift
- Glance
- Keystone
- Optional componets
- Horizon
- Skyline
- Heat
- Ceilometer
- 등등
</aside>
Core componets 설명
<aside>
Nova(Compute Service)
- laaS 구축에 필요한 컴퓨팅 인스턴스를 생성/관리 서비스
- VM생성, IP연결 등 작업 실행
- Compute자원 관리
- 모듈과 상호 작용
- Keystone - 인증
- Glance - 디스크/서버 이미지
- Horizen, skyline - 대시보드 or CLI interface
- 구성 요소
-
Nova-api - 사용자에게 API endpoint 제공
-
Scheduler - VM을 만들때 실제로 연결된 여러 물리 서버 중 적절한 공간을 찾아 스케줄
링해주는 요소
-
Compute - Hypervisor을 이용해 VM의 인스턴스를 생성하고 삭제
-
Conductor - VM에 대한 상태 및 정보를 저장하기 위한 DB를 관리하는 모듈
Neutron(Network Service)
- 네트워크와 관련된 서비스 제공
- 논리적/물리적 네트워크 인프라를 모두 관리
- 물리적으로 연결된 네트워크에서 논리적으로 여러 네트워크로 분리
- 여러 물리 네트워크를 하나의 논리 네트워크로 묶음
- 구성 요소
- Neutron-server - 사용자에게 API endpoint 제공
- Plugin - 네트워크를 생성하고, IP주소 할당
Glance(Image Service)
- 가상머신의 이미지를 CRUD 가능하도록 서비스 제공
- 가상머신 이미지 메타데이터를 통해 실제 이미지를 가져올 수 있게 하는 REST API 제공
- 이를 통해 가상 머신의 이미지는 파일시스템, Openstack의 오브젝트 스토리지 등 다양한 위치에 놓여 사용 가능하도록 저장
- 구성 요소
-
Glance-api - 사용자에게 API endpoint 제공
-
Glance-registry - 이미지에 대한 메타데이터를 저장하고 검색하는 기능 제공
-
Image-storage - 오브젝트 스토리지, 파일시스템, 웹 프로토콜 등을 활용해 이미지를
저장 할 수 있는 원격 저장소 지원
Cinder(Bloack Storage)
- 가상 머신에 영속성 블록 스토리지를 제공
- 가상 머신을 생성할 때 스토리지를 연결하거나 이미 생성된 가상머신에 추가로 스토리지를 연결 가능, 혹은 기존의 연결을 해제하고 다른 가상 머신에 연결 또한 가능
- 스토리지 스냅샷과 볼륨 타입 관리 가능
Swift(Object Storage)
- S3같은 object storage 서비스
- key를 이용해 데이터를 검색/저자
- 오픈스택에서 제공하는 소프트웨어 클러스터를 통해 데이터의 복제와 무결정 보장
- 구조화되지 않은 많은 양의 데이터를 관리하는데 용이
Keystone(Identity Service)
- 오픈스택의 인증/인가 관련 서비스를 제공
- keystone으로 발급받은 인증 토큰을 통해 오픈스택의 전체 컴포넌트에 접근 가능
</aside>