Overview
오늘은 OpenStack Magnum에 대해 알아보겠다.
OpenStack Magnum은 OpenStack 환경에서 Kubernetes, Docker Swarm, Apache Mesos와 같은 컨테이너 오케스트레이션 서비스를 제공하는 컴포넌트이다.
Magnum을 이용하면 OpenStack의 자원(Nova, Neutron, Cinder 등)을 활용해 컨테이너 클러스터를 생성하고, 관리할 수 있다.

📅 관련 글
2022.05.11 - [Openstack] - Openstack이란?
2022.07.29 - [Openstack] - Openstack Nova란?
2022.08.08 - [Openstack] - Openstack Neutron이란? (network)
2022.08.08 - [Openstack] - Openstack 배치 서비스 Placement란?
2022.08.08 - [Openstack] - Openstack Glance란? (image)
2022.08.08 - [Openstack] - Openstack Keystone이란? (identity)
2022.08.08 - [Openstack] - Openstack horizon이란? (dashboard)
2022.08.09 - [Openstack] - Openstack Cinder/Swift란? (block storage/object storage)
2025.02.27 - [Openstack] - OpenStack Heat란? (Orchestration)
2025.02.27 - [Openstack] - OpenStack Ceilometer란? (Telemetry & Monitoring)
2025.02.28 - [Openstack] - OpenStack Mistral이란? (Workflow Service)
Magnum이란?
Magnum은 OpenStack에서 컨테이너 오케스트레이션 환경을 제공하는 서비스다.
Magnum을 통해 OpenStack 환경에서 Kubernetes, Docker Swarm, Mesos 클러스터를 쉽게 생성하고, OpenStack 네트워크/스토리지와 연동하여 효율적으로 관리할 수 있다.
쉽게 말해, OpenStack 기반 Kubernetes 서비스를 제공하는 기능이라고 보면 된다.
Magnum의 주요 특징
1️⃣ 다양한 COE 지원 (하지만 실전은 Kubernetes 위주)
- Kubernetes
- Docker Swarm (사실상 거의 사용 안 함)
- Apache Mesos (현재는 개발 비활성화 수준)
2️⃣ OpenStack 리소스 풀 활용
- Nova VM → 클러스터 노드
- Neutron 네트워크 → 클러스터 네트워크
- Cinder 볼륨 → 컨테이너 스토리지
3️⃣ 클러스터 템플릿 기반 배포
- 클러스터마다 설정이 달라도 문제 없음
- 같은 템플릿으로 여러 환경(개발/테스트/운영)을 쉽게 복제 가능
4️⃣ 인증 및 접근 권한 관리
- Keystone 연동으로 사용자 인증/권한 제어 지원
- 클러스터마다 RBAC 연동 가능
5️⃣ OpenStack API 및 CLI 제공
openstack coe cluster
명령으로 CLI 관리- REST API로 외부 서비스 연동 가능
Magnum 아키텍처 구성
구성 요소 | 설명 |
Magnum API | 클러스터 요청/조회 API 제공 |
Magnum Conductor | 클러스터 생성 및 설정 작업 담당 (Heat 템플릿 활용) |
Heat | 실제 OpenStack 리소스(Nova, Neutron 등) 생성 |
COE Master | Kubernetes 마스터 노드 (컨트롤 플레인) |
COE Worker | 실제 컨테이너 실행 노드 |
Keystone | 사용자 인증 및 권한 관리 |
Neutron/Cinder | 네트워크/스토리지 리소스 제공 |
운영 실전 팁
주제 | 팁 |
이미지 관리 | 클러스터 OS 이미지에 최신 Kubernetes 버전 패키지 포함 필요 |
네트워크 구성 | 클러스터별 네트워크 분리 추천 (프로젝트 격리 강화) |
보안 강화 | 클러스터 마스터/노드 보안그룹 최적화 필수 |
로그 수집 | 각 노드 로그를 중앙 로그 시스템(ELK 등)으로 수집하는 구조 필요 |
모니터링 | Prometheus + Grafana 연계로 클러스터 및 컨테이너 상태 모니터링 추천 |
업데이트 전략 | Rolling Upgrade 지원 안되므로 재생성 기반 업데이트 설계 필수 |
Magnum 한계 및 주의사항
항목 | 내용 |
운영 편의성 | AWS EKS, GKE 대비 관리 기능 부족 (업그레이드 자동화 어려움) |
기능 격차 | 서비스 디스커버리, Ingress Controller 등 추가 설정 필요 |
성능 | 대규모 클러스터 구성 시 성능 이슈 (특히 Magnum Conductor 부하 주의) |
버전 호환성 | Magnum, Kubernetes, OpenStack 버전 호환성 꼼꼼히 체크 필수 |
실제 운영 사례 (Best Practice)
사례 | 내용 |
개발팀 Self-Service | 팀별 독립 클러스터 제공 (Magnum 템플릿 기반 자동화) |
CI/CD 파이프라인 연동 | Jenkins 등에서 Magnum 클러스터 자동 생성 → 테스트 후 삭제 |
하이브리드 클러스터 | 일부 노드는 OpenStack, 일부는 Baremetal로 구성 (외부 워커 추가 방식) |
서비스 마이그레이션 | VM 기반 서비스 → 컨테이너 기반 전환 과정에 활용 |
🌐 타 클라우드 서비스와 비교
비교 항목 | Magnum (OpenStack) | EKS (AWS) | GKE (GCP) | AKS (Azure) |
기본 구성 | Heat 기반 자동화 | Fully Managed | Fully Managed | Fully Managed |
컨트롤 플레인 | VM으로 직접 구성 | AWS 관리 | GCP 관리 | Azure 관리 |
업그레이드 | 수동 재생성 필요 | 자동 업그레이드 | 자동 업그레이드 | 자동 업그레이드 |
네트워킹 | Neutron 연동 | VPC 연동 | VPC 네이티브 | VNet 연동 |
스토리지 연동 | Cinder 기반 | EBS 기반 | GCP PD 기반 | Azure Disk 기반 |
관리 편의성 | 중간 | 우수 | 우수 | 우수 |
결론
Magnum은 OpenStack 환경에서 컨테이너 오케스트레이션을 쉽게 구축할 수 있는 Managed Kubernetes Service로 볼 수 있다.
다만, GKE/EKS 같은 퍼블릭 클라우드 환경과 비교하면 운영 편의성은 다소 부족한 편이다.
그럼에도 불구하고 다음과 같은 상황이라면 강력 추천할 수 있다.
- OpenStack 기반 프라이빗 클라우드에서 Kubernetes 필요할 때
- 컨테이너 클러스터 생성/삭제 자동화가 필요한 DevOps 환경
- VM 기반 서비스에서 컨테이너로 점진적 전환하는 단계
➡️ OpenStack 기반에서 컨테이너 오케스트레이션이 필요하다면, Magnum은 사실상 유일한 선택지다.
Reference
- https://docs.openstack.org/magnum/latest/
- https://github.com/openstack/magnum
- https://docs.openstack.org/api-ref/container-infrastructure-management/
'Openstack' 카테고리의 다른 글
OpenStack Kuryr이란? (Container Networking) (0) | 2025.04.11 |
---|---|
OpenStack Mistral이란? (Workflow Service) (0) | 2025.03.14 |
OpenStack Ceilometer란? (Telemetry & Monitoring) (0) | 2025.03.05 |
OpenStack Heat란? (Orchestration) (0) | 2025.02.27 |
Openstack Cinder/Swift란? (block storage/object storage) (0) | 2022.08.09 |