| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
Tags
- PROJECT
- 강한 연결 요소
- Express.js
- Lock-free Stack
- trie
- Strongly Connected Component
- Delete
- localstorage
- SCC
- 2-SAT
- Github
- Spin Lock
- 트라이
- ccw 알고리즘
- 자바스크립트
- Behavior Design Pattern
- 이분 탐색
- 게임 서버 아키텍처
- 벨만-포드
- 그래프 탐색
- DP
- JavaScript
- 비트필드를 이용한 dp
- reference counting
- 비트마스킹
- R 그래프
- Prisma
- Binary Lifting
- 최소 공통 조상
- map
Archives
- Today
- Total
dh_0e
[Cloud] OpenStack 본문
OpenStack

- 데이터 센터 전체에서 대규모 컴퓨팅, 저장소 및 네트워킹 리소스 풀을 제어하는 클라우드 OS
- 모두 공통 인증 메커니즘을 갖춘 API를 통해 관리 및 제공됨
- 모두 RESTful API로 구성되어 있음
- OpenStack 안에는 수많은 서비스가 있으며 (연산 담당 Nova, 네트워크 담당 Neutron, 저장소 담당 Cinder 등) 이들이 서로 협력할 때 상대방의 내부 코드를 직접 건드리지 않고, 오직 API 요청만 주고받음
- (ex. VM 하나 줘 api)
- 모두 RESTful API로 구성되어 있음
- 대시보드를 통해 관리자가 웹 인터페이스로 리소스를 제공할 수 있음
- 표준 인프라 서비스 외에도 사용자 App의 고가용성을 보장하기 위해 Orchestration, 장애 관리 및 기타 서비스 관리 기능을 제공
- 표준 인프라 서비스 == Instance == Virtual Machine
- Cloud OS, Ochestration 이라고도 함
- OpenStack으로 가상화된 하드웨어(VM)를 공급받고,
무료로 사용할 수 있는 웹 서버(ex. Nginx, NPM)로 그 위에서 돌아가는 서비스의 길목을 관리함
OpenSatck = Control Node + Compute Node

- Controller Node(Hypervisor Control SW): "VM을 생성시켜 주세요" 등의 요구들의 교통정리와 상황정보 보관 소등을 담당
- Compute Node(Hypervisor): 실제 OS를 맡는 instance(VM)
OpenStack Release Plan

- A(ustin), B(exar), C(actus), D(iablo) ... 버전이 계속 올라가면서 Z를 넘김, 2025년 4월 기준 E(poxy) 까지 다시 옴

- compute: 컴퓨터 기능을 해주는 그룹
- >> nova로 바뀜
- storage: 메모리
- >> swift로 바뀜
- 캐시 메모리 같이 작지만 빠른 메모리
- image: 옛날로는 CD롬, 디스크 등의 메모리
- >> glance로 바뀜
- SSD처럼 크지만 빠르지 않은 메모리
- user >> keystone
- gui >> horizon
- 단어가 계속 바뀌는 이유: 개발자들이 자신의 기술 스택을 더 어렵게 보이게 하며, 진입 장벽을 높여 시장에서 전문성을 독점하기 위함
- OpenStack이 점점 크기가 커지면서 발생하는 문제
- Backward Compatibility (하위 호환성): 신규 버전과 구버전의 호환이 항상 문제가 됨
- 업그레이드 거부 현상, 개발 속도 저하의 문제로 이어짐
- Backward Compatibility (하위 호환성): 신규 버전과 구버전의 호환이 항상 문제가 됨
Nova(Controller Node): Compute Project

- Hypervisor를 관리하는 API 제공
- Instance(VM) 생성
- Control Node에 제어기능이 위치하여 Compute node 관리하는 식
- Conductor: DB 보안관
- Compute Node는 DB를 직접 건드리지 못하고, Conductor에 요청(RPC)을 보내 사용
- Scheduler: VM을 어느 Compute Node에 만들어줄지 결정
- Compute Node들의 상태 정보가 필요함
- >> DB에 저장
- Storage(Swift, cinder)
- 클라우드 스토리지 서비스: 스토리지 및 스토리지 API 제공
- Cinder: Block storage
- Swift: Object storage
- Manila: 공유 파일 sotrage
- Ceph
- 오픈소스 소프트웨어 스토리지 플랫폼
- RDB, RADIOS: 분산 스토리지를 위한 다른 오픈 소스 서비스로 모든 종류의 스토리지 관련 서비스 제공 프로젝트
- Glance
- Openstack에서 OS 이미지를 관리
- CD-ROM 같은 기능
- glance-api로 이미지를 등록, 삭제 및 관리
- glance-registry를 통해 glance-datatbase에 등록 및 사용 요청
- Keystone
- 물리 서버 내 Compute, 이미지, 네트워크, 스토리지와 같은 자원들에 대한 인증 관리
- 사용자 인증을 통하여 물리 서버 내의 자원을 사용할 수 있도록 관리
- Horizon
- OpenStack 대시보드 서비스
- 웹 UI를 통해 인스턴스 생성, 삭제 및 관리 등을 처리할 수 있도록 해줌
- 아파치 웹 서버를 사용하며, 대시보드는 파이썬 장고 프레임워크로 구현됨
- Neutron
- 네트워크 서비스로 Folsom 버전에서 Quantum이란 이름으로 오픈
- Network
Etc.
- RESTful API에 대해서 설명하라
- RESTful: REST(Representational State Transfer)라는 설계 원칙을 잘 지켰다는 뜻
- HTTP라는 기존의 도로(프로토콜)를 사용하여, 자원(Resource)을 주고받는 정해진 규칙
- HTTP 메서드로 무엇을 할지 결정
- GET: 정보 가져오기 (서버 목록 보기)
- POST: 새로 만들기 (서버 생성하기)
- PUT/PATCH: 수정하기 (서버 사양 변경)
- DELETE: 삭제하기 (서버 삭제)
- 주로 JSON 형식을 사용하여 데이터를 주고받음
- OpenStack 구조에서 Instance가 만들어지는 과정을 설명하라
- 사용자가 대시보드(Horizon)에서 서버 생성 버튼을 누름
- Keystone이 사용자가 진짜 주인인지 확인하고 인증 토큰 발급
- 사용자는 이 토큰으로 Nova-api에게 서버 생성을 요청
- Nova의 Scheduler가 DB를 뒤져서 빈 Compute Node를 찾아냄
- Nova의 Conductor가 이를 받아서 해당 Compute Node에 전달
- 선택된 Nova-Compute는 서버를 만들기 위해 재료(Glance, Neutron, Cinder)를 모음
- 모든 재료가 모이면 Nova-Compute가 자기 위에 있는 Hypervisor(KVM 등)에게 재료를 주며 실행 요청
- 인스턴스(instance)가 활성화되고, 사용자는 SSH 등을 통해 접속 가능
'Cloud' 카테고리의 다른 글
| [Cloud] Container (0) | 2026.03.10 |
|---|
