ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 오픈스택 핵심 서비스 및 구성요소
    CS 지식 2023. 4. 10. 19:23

    오픈 스택(클라우드 컴퓨팅 오픈소스)이란 컴퓨터 하드웨어 위에 인프라 서비스로 제공하여 IaaS (Infrastructure as a Service)를 구축하게 해주는 오픈 소스 플랫폼을 말한다. 풀링(풀링은 요청하는 클라이언트가 사용하도록 활성 구성 요소 인스턴스 풀을 유지 관리 할 수있는 자동 서비스 )된 가상의 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼이다.

     

     

    한 문장으로 표현한다면, 클라우드 환경에서 컴퓨팅 자원과 스토리지 인프라를 셋업하고 구동하기 위해 사용하는 오픈 소스 프로젝트의 집합이라고 보면 된다. 

     

     

     

     

     

    출처 : https://bumday.tistory.com/18

     

    OpenStack 플랫폼을 포함하는 툴, 일명 “프로젝트”는 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리한다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있다. 아래에서 구성요소를 자세히 알아보도록 하자.

     

     

     

    오픈스택 구성요소


    출처 : https://codemonkyu.tistory.com/entry/Openstack-%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D%EC%9D%B4%EB%9E%80

    1. Horizon (Dashboard)
    2. NOVA (Compute) 
    3. Glance (Image)
    4. Swift (cloud storage service)
    5. Neutron (Networking)
    6. Cinder(block storage)
    7.Heat (Orchestration)
    8. Keystone (Identity service)
    9. Ceilometer (monitoring service)

     

    Horizon (Dashboard)

    -사용자가 오픈스택의 구성요소들을 간편하게 사용할 수 있도록 지원해주는 UI 서비스이다. 

     

     

     

    NOVA (Compute)

    - OpenStack 컴퓨팅 리소스를 위한 전체 관리 및 액세스 툴로 스케줄링, 생성, 삭제를 처리한다. AWS의 EC2, GCP의 Compute Engine와 비슷한 서비스이다. Cloud compute service로서 사용자의 요청에 따라 컴퓨팅 자원을 제공하고 관리해준다. 오픈스택에서 가장 핵심적인 프로젝트로서 가상 머신을 관리할 수 있는 기능을 제공한다.

     

     

     

    Glance (Image)

     -Glance는 다양한 위치에 있는 가상 머신 디스크의 이미지를 저장하고 검색한다. AWS의 AMI, GCP의 Boot disk와 비슷한 서비스이다. 다양한 하이퍼바이저에서 사용할 수 있는 가상 머신 이미지를 관리한다.  Nova에서 생성되는 가상 머신은 Glance를 통해 가상 머신 이미지를 제공받고 관리한다. 쉽게 말해 가상 디스크 이미지들을 저장/등록/관리/전달할 수 있게 해주는 서비스이다.

     

     

     

    Swift (cloud storage service)

    - AWS의 S3, GCP의 Cloud Storage와 비슷한 서비스이다. 오픈스택의 object 저장소로 대용량 데이터를 저장할 수 있는 높은 확장성을 가진 서비스이다. 데이터에 unique ID를 부여하고 컨테이너(버킷)에 저장하여 필요할 때 데이터에 부여한 ID를 호출하여 데이터를 사용하는 스토리지이다. 

     

     

     

    Neutron (Networking)

    -기타 OpenStack 서비스 전반에서 네트워크를 연결한다. AWS의 vpc, GCP의 cloud virtual network와 비슷한 서비스이다. 소프트 웨어 기반의 네트워킹 서비스를 제공한다. Neutron은 실제로 어떻게 네트워크를 구현할까요?  Neutron은 네트워크의 생성/변경/삭제에 대한 API를 제공하며 실제로는 Plug-in을 통해 controller를 작동시켜 네트워크에 접속합니다. 

     

     

     

    Cinder(block storage)

    -셀프 서비스 API를 통해 액세스할 수 있는 퍼시스턴트 블록 스토리지이다. AWS의 EBS(Elastic Block Storage) GCP의 Persistent Disk와 비슷한 서비스이다. 블록 스토리지인 Cinder는 Nova에서 생성된 인스턴스에 확장하여 사용할 수 있는 저장 공간을 생성 및 삭제하고 인스턴스에 연결할 수 있는 기능을 제공합니다.

     

     

     

    Heat (Orchestration)

    -AWS의 ECS(Elastic Container Service)와 GCP의 GKE(Google Kubernetes Engine)과 비슷한 서비스이다. OpenStack 오케스트레이션 Heat 서비스는 heat orchestration template(hot)을 사용하여 클라우드 자원을 생성하고 관리합니다.
    오케스트레이션 서비스는 실행 중인 애플리케이션을 생성하기 위해 OpenStack API를 호출하여 템플릿 기반의 오케스트레이션을 제공합니다.

     

     

     

    Keystone (Identity service)

    -AWS, GCP의 IAM(Identity and Access Management) 서비스와 비슷한 서비스입니다. 키스톤은 인증 토큰 시스템으로 오픈스택 클라이언트는 다양한 API를 호출하기 때문에 이를 토큰을 부여하여 관리한다. 아래 그림을 보면 이해하기 쉽다.키스톤은 모든 오프 스택 구성요소를 관장할 수 있는 위치에 있다.

    출처 : https://codemonkyu.tistory.com/entry/Openstack-%EC%98%A4%ED%94%88%EC%8A%A4%ED%83%9D%EC%9D%B4%EB%9E%80

    - keyston의 구성요소 

     Keystone은 사용자 인증 부분과 서비스 인증 부분을 관리합니다. 사용자일 경우에는 사용자 그룹인 Tenant, 사용자 계정 정보인 User ID와 PW, 사용자 권한인 Role을 가집니다. 서비스일 경우에는 서비스를 등록하고 해당 서비스의 Endpoint URL을 등록합니다. 그럼, 아래 그림을 보면서 다시 한번 더 정리해 보도록 하겠습니다.

     

     

     

     

    Ceilometer (monitoring service) 

    -AWS의 cloudwatch, GCP의 Stack Driver와 비슷한 서비스입니다. 오픈스택 서비스와 관련된 측정 데이터를 효과적으로 수집하고 서비스로부터 전송되는 알림을 모니터링합니다. 

    댓글

SSOONTORY Blog.