[OpenStack을 이용한 클라우드 시스템 구축] (2,3) OpenStack

  • 유튜브 영상링크를 통해 공부!
    • 과학기술정보통신부와 정보통신기획평가원이 지원한 'SW중심대학'의 결과물

OpenStack 소개

 

Use Cases - Applications of the Technology - OpenStack

Thousands of users around the world run on OpenStack. Discover why organizations adopt OpenStack, what workloads they are running and the impact it has.

www.openstack.org

  • 오픈소스 소프트웨어(OSS)
  • 6개월마다 릴리즈 되고 있음

OpenStack 구조

  • 클러스터를 클라우드 인프라로 구축, 관리하는 소프트웨어 집합
  • 클러스터(Cluster)
    • 컴퓨팅 시스템에서 여러 개의 독립적인 컴퓨터(노드)를 하나의 시스템처럼 동작하도록 구성한 집합
    • 클러스터에 있는 물리 자원들을 논리 자원으로 변환 역할
      • (클러스터 자원의 pooling) 컴퓨팅, 네트워크, 스토리지
      • (공유 자원의 제공, IaaS) Bare metal, Virtual Machines, Container 등의 형태
    • openstack-components
 

Open Source Cloud Computing Platform Software - OpenStack

OpenStack is a an open source cloud operating system managing compute, storage, and networking resources throughout a datacenter using APIs

www.openstack.org

  • 오픈스택은 가장 성공적인 Micro Service Architecture 소프트웨어
    • MSA vs Monolithic

etc-image-0
etc-image-1

 

  • (Controller) 전체 서비스를 관리 역할
  • (Compute) 가상화된 자원들을 사용자에게 제공
    • (Flavor) 인스턴스의 컴퓨트, 메모리 및 스토리지 용량에 대한 크기를 관리

etc-image-2

  • 오픈스택에서 사용하는 최소한의 컴포넌트
    • Horizon, OpenStackClient, Nova, Cinder, Neutron, Keystone, Placement, Glance, Barbican

노드의 역할

  • Controller
    • 전체 서비스의 관리, 웹 인터페이스 제공하는 서버
    • 높은 CPU 클럭, 적은 코어, 적당한 메모리
  • Compute
    • 실제 VM을 생성, 제공하는 서버
    • 많은 코어, 많은 메모리, 많은 스토리지
  • 기타
    • Block storage, Object storage
  • 노드 구성 방식
    • 일반적인 구조
      • 컨트롤러 1 + 컴퓨트 N (+ 스토리지 M)
    • 이중화(HA) 구조
      • 컨트롤러 3 + 컴퓨트 N (+ 스토리지 M)

컨트롤러와 컴퓨트 양쪽에 서비스가 있는 경우

  • Nova, Neutron의 경우, 컨트롤러, 컴퓨트 양쪽에 서비스가 동작
  • Master-Worker 구조
    • (컨트롤러 측 서비스) 전체를 관리하는 역할
    • (컴퓨트 측 서비스) 각 노드에서 실제 어떤 동작을 수행하는 역할
  • Nova
    • 컨트롤러: API, Scheduler, Conductor, Novncproxy
    • 컴퓨트: Compute
  • Neutron
    • 컨트롤러: Server, DHCP-agent, Metadata-agent, L3-agent, Openvswitch-agent, ovs-cleantup
    • 컴퓨트: Openvswitch-agent

Nova

  • 가상 머신(VM) 인스턴스를 생성, 관리, 배포하는 컴퓨팅 자원 관리 서비스
  • 주요 기능
    • VM 인스턴스 생성, 삭제, 스케일링
    • 하이퍼바이저와의 연동을 통해 무리적 자원을 가상화
    • 스케줄러를 통해 적절한 호스트에 인스턴스 배치
  • 연계
    • Keystone을 통해 인증 및 권한 관리
    • Neutron을 통해 네트워크 설정
    • Cinder를 통해 블록 스트리지 연결
    • Glance를 통해 VM 이미지 관리

Neutron

  • 네트워크 연결을 관리하고, 가상 네트워크, 서브넷, 라우터 등을 구성하는 서비스
  • 주요 기능
    • VM 간 네트워크 연결 설정
    • Floating IP, 보안 그룹, 네트워크 정책 관리
    • 외부 네트워크와의 연결을 위한 라우터 및 네트워크 주소 변환(NAT) 기능
  • 연계
    • Nova와 통합되어 VM의 네트워크 설정 제공
    • Keystone을 통해 인증 및 권한 관리

Keystone

  • 사용자 인증, 권한 부여, API 접근 제어 등을 관리하는 서비스
  • 주요 기능
    • 인증 토큰 발급 및 관리
    • 역할 기반 접근 제어(RBAC) 구현
    • 서비스 카탈로그 제공
  • 연계
    • OpenStack의 모든 서비스에 대해 인증 및 권한 관리 기능 제공

Placement

  • 클라우드 자원의 효율적 할당 및 관리 최적화를 위한 서비스
  • 주요 기능
    • CPU, 메모리, 디스크, 가속기 등의 물리적 자원에 대한 추적 및 할당 관리
    • Nova와 연계하여 VM 인스턴스에 적절한 리소스를 할당하는 과정 최적화
    • 리소스 가용성 및 할당에 대한 정보 제공
  • 연계
    • Nova와 밀접하게 연동되어 VM 인스턴스 배치 최적화
    • Keystone을 통해 인증 및 권한 관리

Horizon

  • OpenStack의 모든 서비스를 웹 기반 GUI로 관리할 수 있게 해주는 대시보드 서비스
  • 주요 기능
    • 사용자에게 직관적인 UI 제공
    • VM 생성, 네트워크 구성, 스토리지 관리 등 다양한 서비스의 시각적 관리
    • 멀티테넌트 환경에서의 리소스 모니터링 및 관리
  • 연계
    • OpenStack의 대부분 서비스에 대한 GUI 제공 

Cinder

  • VM에 블록 스토리지(디스크)를 제공하고 관리하는 서비스
  • 주요 기능
    • 블록 스토리지 볼륨 생성, 연결, 스냅샷 관리
    • VM에 대한 영구 저장소 제공
    • 스토리지 백엔드와의 통합 관리
  • 연계
    • Nova와 연동되어 VM에 블록 스토리지 연결
    • Keystone을 통해 인증 및 권한 관리

Glance

  • VM 이미지를 저장하고 관리하는 서비스
  • 주요 기능
    • VM 이미지(디스크 이미지) 저장, 검색, 배포
    • 다양한 이미지 포맷(QCOW2, RAW 등) 지원
    • 이미지 메타데이터 관리
  • 연계
    • Nova와 연동되어 VM 인스턴스 생성 시 필요한 이미지 제공
    • Keystone을 통해 인증 및 권한 관리
    • Horizon을 통해 이미지 관리 가능