빅토리 코딩
article thumbnail
Published 2023. 10. 5. 14:45
OpenStack 설명 Server/openstack
728x90
반응형

개요

OpenStack은 IaaS환경의 서버를 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼이다. 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리 한다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수도 있다.

장점

오픈 소스: OpenStack는 오픈 소스로 제공되며, 라이선스 비용이 없습니다. 이는 비용을 절감하고 클라우드 인프라를 구축하는 데 더 많은 자유를 제공합니다.
다양한 서비스: 가상화, 스토리지, 네트워킹, 인증 등 다양한 영역에서 서비스를 제공하여 다양한 요구 사항을 충족할 수 있습니다.
유연성과 확장성: OpenStack는 확장 가능하며, 대규모 데이터 센터에서도 작동합니다. 필요에 따라 리소스를 확장하고 컴퓨팅, 스토리지, 네트워크를 동적으로 관리할 수 있습니다.
다중 클라우드 환경: OpenStack는 하이브리드 클라우드 및 멀티 클라우드 전략을 구현하기에 이상적입니다. 여러 환경을 통합하고 관리할 수 있습니다.
표준 API: OpenStack는 표준화된 API를 제공하므로 애플리케이션과 서비스가 OpenStack 환경에서 쉽게 동작할 수 있습니다.
대시보드: OpenStack 대시보드는 사용자가 리소스를 시각적으로 모니터링하고 관리할 수 있는 직관적인 웹 인터페이스를 제공합니다.
강력한 보안: Keystone 서비스를 통해 사용자 및 리소스에 대한 인증과 권한 관리를 강화할 수 있습니다.
개발자 및 커뮤니티 지원: OpenStack는 활발한 개발자 및 커뮤니티 컨트리뷰션을 받으며, 사용자 커뮤니티와 다양한 문서 및 자료가 제공되므로 지원 및 문제 해결에 도움이 됩니다.
가상화 기술 지원: 다양한 가상화 기술을 지원하며, 기존 가상화 환경과 통합하여 사용할 수 있습니다.
자동화 및 오케스트레이션: 자동화 및 오케스트레이션 도구를 통해 작업을 자동화하고 복잡한 프로비저닝 작업을 관리할 수 있습니다.
높은 가용성: OpenStack는 컨트롤러와 컴퓨트 노드의 분리, 이중화 구성 등을 통해 높은 가용성을 제공할 수 있습니다.
커뮤니티와 생태계: OpenStack은 광범위한 커뮤니티와 개발자 생태계를 가지고 있어 지속적인 지원과 업데이트를 받을 수 있습니다.

구성요소

Nova (Compute)

Nova는 가상 머신 인스턴스를 생성하고 관리하는 역할을 합니다. 가상 머신의 수를 늘리거나 줄이는 스케일링, 인스턴스 스냅샷 생성, 가상 머신의 상태 모니터링을 담당합니다.

 Cinder (Block Storage)

Cinder는 블록 레벨 스토리지 서비스로 가상 머신에 블록 스토리지를 제공합니다. 이를 통해 가상 머신에 대용량의 스토리지를 연결하고 관리할 수 있습니다.

Swift (Object Storage)

Swift는 객체 스토리지 서비스로 대용량의 비정형 데이터를 안전하게 저장하고 검색할 수 있게 합니다. 이미지, 비디오, 백업 등을 저장하기에 이상적입니다.

Neutron (Networking)

네트워크 서비스인 Neutron은 가상 머신 간의 네트워크 연결을 구성하고 관리합니다. 가상 라우터, 방화벽, 로드 밸런서와 같은 고급 네트워킹 기능도 제공합니다.

Keystone (Identity)

Keystone은 오픈스택 서비스 및 사용자 인증을 관리하는 중요한 역할을 합니다. 사용자와 서비스에 대한 인증과 권한을 제어합니다.

Glance (Image Service)

Glance는 가상 머신 이미지를 저장하고 관리하는 서비스입니다. 가상 머신 이미지를 공유하고 배포하는 데 사용됩니다.

Horizon (Dashboard)

Horizon은 웹 기반 대시보드로, 사용자가 오픈스택 리소스를 시각적으로 모니터링하고 제어할 수 있는 사용자 인터페이스를 제공합니다.

구성도

개념적 아키텍처 구성도

참조 https://docs.openstack.org/ko_KR/install-guide/_images/openstack_kilo_conceptual_arch.png

논리적 아키텍처

위의 개념적아키텍처 구성도로 보았을때 OpenStack은 여러 독립적인 부분인 OpenStack 서비스들로 이루어지고있다. 모든 서비스는 공통된 Identity(Keystone) 서비스를 통해 인증을 수행한다.

내부적으로, OpenStack 서비스들은 여러 프로세스들로 구성되어 있습니다. 모든 서비스들은 적어도 하나의 API 프로세스를 가지며, API 요청에 대해 작업을 수행하고, 전처리를 하여 결과를 다른 서비스 부분에 전달한다. 

특정 서비스 내 프로세스 간 통신에 있어서는, AQMP 메시지 브로커가 사용되며 서비스에 대한 상태는 데이터베이스에 저장된다. OpenStack 클라우드를 배포 및 구성시에, RabbitMQ, MySQL, MariaDB, 그리고 SQLite와 같은 여러 메시지 브로커 및 데이터베이스 솔루션 중 선택할 수 있다.

사용자는 Horizon 대시보드에 의해 구현된 웹 기반 사용자 인터페이스를 통해, command-line clients 를 통해, 그리고 API 요청을 브라우저 플러그인 또는 curl 와 같은 도구를 통해 발행함으로써 OpenStack에 액세스할 수 있다. 응용 프로그램에 대해서는 several SDKs 를 사용할 수 있다. 결론적으로, 모든 해당 액세스 방식은 REST API 요청을 다양한 OpenStack 서비스에 발행합니다.

참조 https://docs.openstack.org/ko_KR/install-guide/_images/openstack-arch-kilo-logical-v1.png


Node 구성도

하나의 Node가 하나의 서버로 생각하면된다. 각각의 역은

Network Switch : 노드 간의 네트워크 트래픽을 관리하고 라우팅

Controller Node :  OpenStack 서비스와 관리 작업을 실행하는 중심 노드이며 Keystone, Nova, Cinder, Glance, Neutron, Horizon 등의 서비스가 여기에 위치

Database : 컨트롤 노드에 설치되며, OpenStack 서비스의 데이터를 저장 

Message Queue : 서비스 간 통신을 위한 메시징을 처리

Horizon(Dashboard) : 사용자가 클라우드 리소스를 시각적으로 관리할 수 있는 웹 대시보드를 제공

Compute Node :  가상 머신 인스턴스를 실행하는 노드로, Nova 서비스가 여기에서 가상 머신을 관리.

Cinder(Storage) : 가상 머신, 컨테이너 등과 같은 클라우드 환경 내에서 사용되는 블록 스토리지를 제공

상세내용은 https://governance.openstack.org/tc/reference/technical-vision.html
아키텍처 구성은 https://docs.openstack.org/arch-design/index.html 
설치 가이드 https://docs.openstack.org/ko_KR/install-guide/index.html
728x90
반응형

'Server > openstack' 카테고리의 다른 글

openstack 환경 설정(Controller node)[1]  (0) 2023.10.05
profile

빅토리 코딩

@빅토리 코딩

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그