본문 바로가기
CS/openstack

[Openstack] 오픈스택 강의2

by 민지기il 2026. 5. 15.

다음과 같은 강의를 정리하 자료입니다.

https://www.youtube.com/watch?v=lOmN8akWnUs

 

openstack

: on-premise, public-cloud, at the edge에서 사용

컴포넌트 역할

keystone 자원 할당 권한 확인
cellometer 자원 얼마나 쓰는지 수집
  • tripleO를 이용한 배포 방법: OpenStack을 배포할 때 OpenStack 자체를 배포 도구로 사용

: 배포하려는 OpenStack을 overcloud, 이걸 배포할 때 쓰는 OpenStack을 undercloud라고 함

(undercloud: 배포 전용 소규모 OpenStack. 실제 서비스 안 함. 노드 프로비저닝/관리 담당, overcloud: 실제 사용자가 쓰는 운영 OpenStack 환경)

kvm(Kernel-based Virtual Machine): 리눅스 커널 자체에 내장된 하이퍼바이저, OpenStack의 Compute 서비스인 Nova가 VM을 생성할 때 기본적으로 KVM을 사용한다. Nova가 libvirt라는 라이브러리를 통해 KVM/QEMU에 명령을 내려서 VM을 띄운다.

  • wallaby 이전
  1. Docker 기반 컨테이너: 모든 OpenStack 서비스가 Docker 컨테이너로 실행됨 (e.g. nova-api → docker container, neutron-server → docker container)
  2. Heat 중심 배포: Heat Template (YAML) 기반으로 전체 인프라 정의 배포 과정: Heat Template → OpenStack API → VM/서비스 생성
  • wallaby 이후
  1. Docker → Podman 전환: Docker 데몬 의존성 제거, 보안 + rootless 지원
  2. ephemeral heat, metalsmith가 controller-node, comput-node에 운영체제 설치와 network 설정을 해줌 → 이후에 service 올라감
  • 배포를 위한 test-bed 환경
  • 첫 번째 그림: 구조 이해를 위한 개념적 모델, 두 번째 그림: 실제 배포 환경을 반영한 상세 모델

1-1. 첫 번째 그림 (개념 중심 구조): Director → Controller → Compute

- Director (Undercloud): OpenStack 배포를 담당하는 관리 노드로 노드 프로비저닝, 이미지 배포, 설정 관리 수행 → 설치 관리자 역할

- Controller: OpenStack 핵심 서비스 실행 노드

주요 서비스: Keystone (인증), Nova API, Neutron (네트워크), Glance (이미지)

→ 전체 시스템의 제어 역할

- Compute: 실제 가상머신이 실행되는 노드 → 사용자 인스턴스 실행 역할

 

1-2. 컨테이너 구조: 모든 노드에서 OpenStack 서비스는 컨테이너로 실행됨

컨테이너 런타임: Podman, 각 서비스는 독립된 컨테이너로 동작

핵심: OpenStack 서비스 = 컨테이너 기반 실행

 

1-3. 네트워크 구성 (논리적)

OpenStack은 네트워크를 목적별로 분리하여 사용

Provisioning: 배포 및 초기 설정용, Internal API: 내부 서비스 간 통신, Storage: 스토리지 통신, Tenant: 사용자 VM 네트워크, External: 외부 인터넷 연결

핵심: 네트워크를 분리하여 안정성과 성능 확보

 

2-1. 두 번째 그림 (실제 환경 기반 구조)

2-2. 물리 네트워크 인터페이스 (NIC)

각 노드는 실제 네트워크 인터페이스를 가짐 e.g.: ens160, ens192 / 각 NIC는 특정 네트워크 역할에 연결됨

 

2-3. VLAN 기반 네트워크 분리: 하나의 물리 네트워크를 여러 논리 네트워크로 분리

e.g VLAN 20: Internal API, VLAN 30: Storage, VLAN 40: Tenant, VLAN 50: External

핵심: 물리 인프라를 효율적으로 분리하여 사용

 

2-4. NAT 및 Host-only 네트워크

가상 환경에서 사용되는 네트워크 구성 → Default NAT: 외부 인터넷 연결, Host-only: 내부 통신 전용 네트워크

용도: 외부 연결과 내부 통신을 분리

 

2-5. KVM 하이퍼바이저: OpenStack 노드 자체가 KVM 기반 가상머신으로 실행됨

구조: 물리 서버 → KVM (하이퍼바이저), Director / Controller / Compute (VM), OpenStack 서비스 (컨테이너), 사용자 VM

핵심: VM 위에 OpenStack이 올라가고, 그 위에서 다시 VM을 생성

 

3. 차이

항목 첫 번째 그림 두 번째 그림

목적 개념 설명 실제 배포 환경
네트워크 논리적 표현 VLAN + NIC 기반
하이퍼바이저 표시 없음 KVM 명시
복잡도 낮음 높음
현실성 낮음 높음