본문 바로가기

클라우드/오픈스택(OpenStack)

OpenStack 오픈스택의 구성 및 서비스, 배포방식

# OpenStack

 

#  물리적인 구성

노드 : 각각의 기능을 가진 시스템

- 컨트롤러 노드 : 오픈스택 환경의 구성을 관리

- 컴퓨트 노드 : 쿠버네티스워 워커 노드같은 하이퍼바이저 역할만 수행( 인스턴스 동작 ), 갯수가 많거나 성능이 좋으면 가상머신을 많이 또는 고성능으로 만들어 사용 할 수 있다.

- 네트워크 노드 : 네트워크 구성/관리 기능 제공 (외부 연결에 대한 구성) 내가 구성한 인스턴스 서비스를 외부의 누군가에게 연결해주어야함

- 스토리지 노드 : 오픈스택 환경에서 사용 할 스토리지를 제공

실습에서는 네트워크,스토리지 노드는 컨트롤러 노드에 포함되어있다.

 

 

# 오픈스택 서비스 (openstack architecture)

 

- horizon :  대시보드 서비스

관리자 및 사용자가 관리 및 사용할 수 있는 웹서비스를 통해 GUI 환경을 제공(웹페이지 제공)

추가적인 서비스를 구성할 경우에는 필요에 따라 별도의 패키지 설치 , 기본적인 핵심서비스들은 설치 되어있다. 컨트롤러 노드에만 설치  /etc/httpd/conf.d/15-horizon_vhost.conf 

 

- Nova : 컴퓨팅 서비스

우리가 사용할 인스턴스를 관리해주는 서비스 , 인스턴스의 생성/삭제/동작제어 등을 위한 서비스 , 컨트롤러 노드와 컴퓨트 노드에 설치

 libvirt 서비스에 이런 동작을 해야한다고 알려주는 역할

 

- Glance : 이미지 관리 서비스

ova 파일 같은 개념, 이미지를 생성/ 삭제 등의 관리 및 요청에 따라 전달/ 보관 서비스

이미지 → 인스턴스를 실행 할 때 사용하는 부팅이 가능한 운영체제가 설치된 디스크 파일

웹에서 다운로드, 수정(disk-image-builder, guest-fish, virt-customize 등의 도구), 사용하던 가상머신의 디스크 파일 등 

 

- Neutron : 네트워크 관리 서비스

SDN과 NFV 등을 이용해서 네트워크를 동적 구성/ 관리 서비스 (NetworkManager와 충동 가능성 있음)

 

- Cinder : 블록 스토리지 서비스

iscsi 처럼 볼륨이라는 형식을 이용해서 저장공간을 인스턴스에 직접 연결해서 사용

 

-  Swift : 오브젝트 스토리지 서비스

필요할때 어디서나 접근할 수 있도록 API/URL을 이용해서 어느 환경에서건 네트워크 연결이 되어있다면 접근해서 사용, 관리자나 사용자 입장에서 메모해둔 문서, 데이터 베이스 이미지 여러가지 파일 종류를 필요할때 가져가서 쓸 수 있도록 한다. 따로 파티셔닝하고 마운트하고 연결 할 필요가 없다.

 

- Manila : 공유 파일 시스템 서비스

영구 저장, 인스턴스에 연결해서 사용 (다중 연결 방식), 써도되고 안써도됨

 

- Keystone : 인증서비스

사용자에 대한 인증 및 접근 권한을 확인하고 제어해주는 역할 , 엔드포인트 관리, 중요한 역할

 

- Heat : 오케스트레이션 서비스

쿠버네티스와 같이 오픈스택의 각 리소스들을 세트로 정적/ 동적 스케일링 작업을 지원 ( 만들고 지우고 늘리고하는 오케스트레이션 작업 ) heat라는 서비스를 연동하여 모니터링 하며 늘리거나 줄임 , 파드 단위를 사용하지 않고 각종 리소스들을 여러개를  동시에 관리

 

- Ceilometer : 텔레메트리 사용량 측정 서비스

사용자가 사용하는 리소스의 사용량을 모니터링 /기록 작업 -> 알람, 과금 측정

Aodh  알람 기능 / Gnocchi 시계열 데이터 베이스

 

- Ironic : 베어메탈 배포 서비스

운영체제도 설치 되어있지 않은 환경에 네트워크로 설치할수 있는 서비스를 이용해서 직접 설치할 수 있게 해줌, 컨트롤러 컴퓨트,네트워크, 스토리지 노드를 직접 설치

=> Triple O : director 시스템에서 Ironic 서비스를 이용해서 노드들을 배포

 

- Zaqar : 메세지큐 구성 서비스

메세지 큐의 백엔드 구성을 도와줌 , 개발자들이 쓰기 편하게 해줌

 

- Magnum : 컨테이너 관리 서비스

컨테이너를 오픈스택 환경에서 사용할 수 있게 해준다 . 오픈스택 위에 쿠버네티스를 구성 할 수 있다.

 

- Trove : 데이터베이스 서비스

 

- Sahara : 빅테이터 처리 서비스

 

 

 

# 배포방식

- 직접 서비스 패키지 설치 및 구성 (공부용)

- Packstack / Devstack 이용 ( 간단한 테스트용)

- Triple O (Openstack On Openstack) -director (allinone한군데에 다 설치) 시스템이 오픈스택 구성

오픈스택을 통해 오픈스택을 설치한다

- kolla 설치 시 서비스들을 컨테이너 형식으로 구성