1. 요약

Ansible의 openstack.cloud Collection을 사용하여 OpenStack VM 생성에 필요한 Glance Image, Nova Flavor, Neutron Private Network와 Subnet을 코드로 반복 생성하는 자동화 구성이다.


2. 구성 목적

OpenStack 리소스는 Horizon이나 OpenStack CLI를 통해 수동으로 생성할 수 있다.

하지만 프로젝트의 최종 목표는 다음과 같다.

부하 증가 감지
→ OpenStack Worker VM 자동 생성
→ Docker 및 네트워크 초기화
→ Docker Swarm Worker 자동 가입
→ 컨테이너 서비스 확장

이 구조에서는 사람이 Horizon에서 매번 이미지, Flavor, 네트워크를 직접 선택할 수 없다.

따라서 VM 생성에 필요한 기반 리소스를 Ansible Playbook으로 정의하고, 언제든지 같은 환경을 재현할 수 있도록 구성하였다.

Horizon 수동 작업과 Ansible 자동화 비교

구분 Horizon Ansible
작업 방식 웹 화면에서 직접 클릭 Playbook 실행
반복성 사람이 매번 반복 자동 반복
설정 일관성 실수 가능 코드에 정의된 값 사용
재현성 낮음 높음
자동 확장 연동 어려움 가능
주요 용도 조회, 확인, 장애 분석 생성, 변경, 자동화

Horizon은 자동화를 대체하는 도구가 아니라, Ansible이 생성한 결과를 확인하는 관리 화면으로 사용한다.


3. 현재 자동화 범위

현재 bootstrap-cloud.yml을 통해 다음 OpenStack 리소스를 자동으로 관리한다.

bootstrap-cloud.yml
├─ Glance Image 등록
├─ Nova Flavor 생성
├─ Neutron Private Network 생성
└─ Neutron Private Subnet 생성

현재 구현된 리소스는 다음과 같다.

OpenStack 서비스 리소스 현재 설정
Glance VM 부팅 이미지 ubuntu-24.04-cloud
Nova VM Flavor flavor_name 변수에 정의
Neutron Private Network clover-private
Neutron Private Subnet clover-private-subnet
Neutron Subnet CIDR 192.168.21.0/24
Neutron VM IP 할당 범위 192.168.21.60 ~ 192.168.21.250

현재는 아직 다음 리소스를 자동화하지 않았다.

Security Group
SSH Keypair
External Provider Network
Neutron Router
SNAT
Floating IP
VM Instance 생성
Docker 설치
Docker Hub Image Pull
Docker Swarm 가입