티스토리 뷰

Cloud

오픈스택과 컨테이너 I

나리 짱!!! naleejang 2020. 11. 6. 10:53

Nalee의 오픈스택 이야기

오픈스택을 처음 만난건 2011년 9월 즈음 이었습니다. 그 당시 오픈스택은 오픈소스화가 얼마 되지 않았던 시기로 Diablo 버전이 막 릴리즈가 되었었습니다. 서비스는 컴퓨트 프로젝트인 Nova, 이미지 서비스를 위한 Glance, 오브젝트 스토리지 서비스인 Swift가 전부였습니다. 개발 소스도 얼마되지 않아 코드 분석도 얼마든지 가능한 시기였습니다. 오픈스택은 소스를 오픈함으로써 많은 사람들이 개발에 참여할 수 있었으며, 그 때부터 오픈소스가 트렌드가 되기 시작했던 거 같습니다. 오픈스택은 많은 회사와 많은 소프트웨어 엔지니어들이 참여를 함으로써 많은 기술 발전을 하였고, 그 중 한 회사가 바로 레드햇이였습니다. 레드햇은 정말 오랫동안 오픈스택이라는 오픈소스 발전에 많은 기여를 한 회사입니다. 또한, 기업에서 서비스나 운영을 위해 클라우드를 구축할 때도 안전하게 기술지원을 받으면서 오픈스택을 이용하여 클라우드 시스템을 구축할 수 있도록 기술지원을 합니다.

오픈스택은 가상화 기술을 이용하여 수많은 서버의 가상 자원을 관리하고 제어함으로써, 사용자가 쉽게 가상 자원을 사용할 수 있도록 지원해 주는 클라우드 플랫폼입니다.  따라서, 가상서버를 제공하기 위한 하이퍼바이저 기술, 가상서버에 가상 네트워크를 할당하고 관리하기 위한 SDN 기술, 가상서버의 저장공간 및 디스크를 제공하고 관리하기 위한 스토리지 기술들이 필요하며, 운영을 위해 가상자원 사용 현황 등을 수집하고, 동일한 작업을 자동화하기 위한 기술, 성능향상을 위한 기술 등 다양한 기술들을 필요로 합니다. 그렇기 때문에 오픈스택을 배포하기 위한 과정 역시 자동화가 필요합니다. 초창기에는 PackStack이나 DevStack과 같은 스크립트 형태의 간단한 자동화 배포방식을 지원했지만, 근래에는 데이터센터와 같은 대규모 시스템에서도 배포를  할 수 있는 자동화 방식을 지원 합니다. 또한, 패키지 기반의 설치 방식에서 컨테이너 기술이 트렌드가 되면서 컨테이너 방식의 설치 방식으로 변경되었습니다.  레드햇 오픈스택 역시 마찬가지로 오픈스택의 모든 서비스들이 컨테이너로 변경 되었습니다. 

 

레드햇 오픈스택의 배포방식

블로그에 글을 쓰면서 일반적인 커뮤니티 방식의 오픈스택 이야기를 하고 싶지만, 그냥 현재 제일 잘 아는 레

드햇 오픈스택을 이야기하는게 가장 좋은게 아닐까? 라는 생각이 문득 들었습니다.

 

레드햇 오픈스택은 13(릴리즈명: Queens)버전부터 모든 오픈스택 서비스가 전부 Docker 기반의 컨테이너로 전환되었습니다. 그리고, 2019년 4월 레드햇 엔터프라이즈 리눅스 8이 나오면서 오픈스택 15(릴리즈명: Stein)부터는 Podman 기반의 컨테이너로 전환되었습니다. 

레드햇 오픈스택은 배포를 위한 오픈스택과 서비스를 위한 오픈스택으로 구성됩니다. 다시 말해, 오픈스택으로 다시 오픈스택을 설치한다는 의미입니다.. 이를 영어로 OpenStack On OpenStack이라고 부릅니다. 이때 여기서 O가 3개가 있어서 붙여진 이름이 바로 TripleO 입니다. TripleO에는 서비스용 오픈스택을 관리하고, 배포를 하기위한 Undercloud와  서비스용 오픈스택인 Overcloud로 구성됩니다.

오픈스택 10 이전 버전에는 패키지 기반으로 오픈스택 서비스가 배포되었습니다. Heat를 이용하여 puppet 기반으로 언더클라우드와 오버클라우드의 오픈스택 서비스들을 설치하였습니다. 

그러나, 오픈스택 13 버전으로 오면서 Heat 중심의 puppet 기반의 설치방식은 Ansible을 이용한 설치 방식으로 변경되기 시작했으며 오버클라우드의 오픈스택 서비스들은 Docker 기반의 컨테이너로 변경되었습니다. 그러나, 이때까지만 해도 언더클라우드의 오픈스택 서비스들은 여전히 패키지 방식으로 설치가 되었습니다.

그러다가, 오픈스택 15 버전부터는 대부분의 설치방식이 Ansible로 변경이 되었으며, Docker 기반의 컨테이너 서비스들은 Podman 기반의 컨테이너 서비스들로 모두 변경이 되었습니다. 13 버전에는 오버클라우드의 오픈스택 서비스만 컨테이너였다면 14 버전부터는 언더클라우드와 오버클라우드의 오픈스택 서비스가 전부 컨테이너로 변경되었습니다. 

 

이렇게 해서 오픈스택이 무엇인지, 오픈스택을 배포하기 위한 방법으로 레드햇 오픈스택의 배포 방식이 어떻게 변화되어 왔는지를 알아보았습니다. 다음 포스팅에서는 레드햇 오픈스택의 배포 프로세스와 최근 오픈스택이 컨테이너화 되기 시작한 버전을 중심으로 어떻게 기술이 변화되었는지 알아보도록 하겠습니다. 

 

::: 참고자료 :::

OpenStack Official Website

https://www.openstack.org/

Openstack Releases

https://releases.openstack.org/

 

'Cloud' 카테고리의 다른 글

오픈스택과 컨테이너 III  (0) 2020.11.11
오픈스택과 컨테이너 II  (1) 2020.11.09
오픈스택과 컨테이너 I  (0) 2020.11.06
컨테이너 역사  (0) 2020.11.04
컨테이너 기술:: Docker와 Podman  (1) 2020.10.29
기술지원을 받는다는 건! 함께 일을 한다는 건!  (0) 2019.12.26
댓글
댓글쓰기 폼