본문 바로가기
클라우드/오픈스택

OpenStack 0 개념

by 태하팍 2026. 11. 3.
반응형

설치 전에 알아야 할 것

한 줄 요약
OpenStack은 서버 여러 대를 묶어 AWS 같은 클라우드를 직접 만드는 오픈소스다.
서비스 하나하나가 따로 설치되는 프로그램이고 API로 서로 부른다.

서비스 지도 — AWS로 치면

* 는 최소 구성!
설치
순서
서비스 하는 일 AWS
1번 *Keystone 인증, 사용자·프로젝트, 서비스 주소록(endpoint) IAM
2번 *Glance VM 이미지 보관 AMI
3번 *Placement 어느 서버에 CPU·RAM이 얼마 남았나 장부 (내부)
4번 *Nova VM 만들고 지우기 EC2
5번 *Neutron 가상 네트워크, IP, 라우터, 보안 그룹 VPC
  Horizon 웹 대시보드 콘솔
  Cinder 붙였다 뗐다 하는 디스크 EBS
  Swift 오브젝트 저장소 S3

최소 구성은 Keystone, Glance, Placement, Nova, Neutron 다섯 개!
설치 순서가 있다.
내부적으로 확인, 검사 등의 순서가 있기 때문!

왜 이 순서인가?

  • Keystone이 먼저: 다른 서비스가 모두 Keystone에 자기를 등록하고 토큰을 검사한다.
  • Glance 다음: VM을 만들려면 이미지가 있어야 한다.
  • Placement가 Nova보다 먼저: Nova가 VM 놓을 자리를 Placement에 묻는다.
  • Neutron 마지막: VM에 네트워크를 꽂아 주는 일이라 Nova가 있어야 확인할 수 있다.

VM 하나가 뜨는 흐름

openstack server create를 치면 일어나는 일.

순서 누가 무엇을
1 Keystone 토큰이 맞는지 확인
2 nova-api 요청을 받아 DB에 기록
3 nova-scheduler + Placement 자원이 남는 compute 노드를 고른다
4 nova-compute Glance에서 이미지를 받아 하이퍼바이저(KVM/QEMU)로 VM 생성
5 Neutron 포트를 만들고 IP를 준다

서비스끼리는 REST API로, 한 서비스 안의 부품끼리는 RabbitMQ로 말한다.
상태는 MariaDB에 저장한다.

노드 구성 — 가이드의 예시

노드 올라가는 것 NIC
controller Keystone, Glance, Placement, Nova·Neutron 관리 부분, Horizon, DB, RabbitMQ, NTP 2개
compute 하이퍼바이저, nova-compute, Neutron 에이전트 2개
  • NIC 하나는 management(노드끼리 대화), 하나는 provider(VM이 바깥과 연결).
  • 2대가 최소다.
  • compute는 늘릴 수 있다.

NIC 란?

NIC(Network Interface Card)는 컴퓨터가 네트워크에 연결되는 출입구다.
흔히 랜카드라고 부른다.
랜선 꽂는 구멍 하나 = NIC 하나라고 보면 된다.
ip addr로 보이는 eth0, enp0s1 같은 이름이 NIC 하나씩이다.
VM에서는 진짜 카드 대신 가상 NIC를 붙인다.

NIC 이름 무엇이 다니나
1번 management 노드끼리 대화: API 호출, DB, RabbitMQ
2번 provider VM(인스턴스)이 바깥과 주고받는 트래픽

둘로 나누는 이유는 길을 섞지 않기 위해서다.
provider NIC는 Neutron이 브리지로 가져가 VM들의 길로 쓴다.
그래서 provider NIC에는 IP를 주지 않는다.
NIC가 하나뿐이면 Neutron이 가져가는 순간 노드와의 연결(ssh 등)이 끊긴다.

네트워크 두 방식

  Option 1 Provider Option 2 Self-service
뜻 VM을 물리 네트워크에 바로 붙인다 프로젝트마다 가상 네트워크를 만들고 라우터·NAT로 나간다
L3 라우터 없음 있음 (VXLAN 오버레이)
난이도 쉽다 어렵다

처음에는 Option 1로 끝까지 가고, 되면 Option 2를 해 본다.

공통 부품 (1단계에서 설치)

부품 왜
chrony (NTP) 노드 시간이 어긋나면 토큰·메시지가 깨진다
MariaDB 서비스마다 DB 하나씩
RabbitMQ 서비스 내부 부품끼리 메시지
Memcached Keystone 토큰 캐시
Etcd 분산 잠금, 설정

Mac에서 주의할 것

  • Apple Silicon이라 Ubuntu ARM 이미지를 쓴다.
  • VM 안에서 KVM이 안 될 수 있다.
  • 그러면 nova 설정 virt_type = qemu로 바꾼다.
  • 가이드가 확인 명령(egrep -c '(vmx|svm)' /proc/cpuinfo, ARM은 /dev/kvm 존재 여부)과 함께 안내한다.

출처: Installation Guide — Get started, Overview, Minimal deployment for 2026.1.