Packstack으로 OpenStack 설치하기

RDO Packstack으로 OpenStack proof-of-concept 환경을 설치하는 가이드입니다. CentOS Stream/RHEL 계열 준비, answer file, all-in-one 설치, Horizon과 CLI 검증을 정리했습니다.

Packstack은 RDO 기반 OpenStack을 빠르게 proof-of-concept 형태로 구성하는 도구입니다. 운영용 HA 클라우드 구축 도구가 아니라 단일 노드 또는 작은 랩에서 OpenStack 컴포넌트를 익히기 위한 설치 경로로 보는 것이 맞습니다. 공식 RDO Packstack 문서도 proof of concept single node 성격을 명확히 둡니다.

설치 전 주의사항

  • 깨끗한 CentOS Stream/RHEL 계열 VM에서 시작합니다.
  • 호스트명, DNS, 고정 IP를 먼저 정리합니다.
  • NetworkManager, firewalld, libvirt, bridge 설정이 바뀔 수 있으므로 운영 서버에서 바로 실행하지 않습니다.
  • 메모리와 디스크는 여유 있게 잡습니다. 최소 랩도 8GB 이상 메모리를 권장합니다.
  • 자동 업데이트는 설치 중 충돌할 수 있으므로 랩에서는 중지합니다.

기본 준비

sudo hostnamectl set-hostname openstack-aio.example.local
hostname -f
ip addr
ip route
sudo dnf update -y
sudo reboot

RDO 저장소와 Packstack 설치

릴리스 이름은 시점에 따라 바뀌므로 RDO 공식 문서의 현재 지원 release를 확인합니다. 아래는 CentOS Stream 9과 Caracal 예시입니다.

sudo dnf install -y centos-release-openstack-caracal
sudo dnf update -y
sudo dnf install -y openstack-packstack

answer file 생성

바로 packstack --allinone을 실행해도 되지만, 반복 설치와 기록을 위해 answer file을 먼저 만드는 편이 낫습니다.

packstack --gen-answer-file=/root/packstack-answers.txt
sudo cp -a /root/packstack-answers.txt /root/packstack-answers.txt.bak.$(date +%Y%m%d_%H%M%S)

랩 구성에 맞게 network interface, password, demo 생성 여부, heat/magnum 같은 추가 컴포넌트를 조정합니다.

grep -E '^(CONFIG_DEFAULT_PASSWORD|CONFIG_PROVISION_DEMO|CONFIG_NEUTRON_OVN_BRIDGE_IFACES)' /root/packstack-answers.txt

설치 실행

sudo packstack --answer-file=/root/packstack-answers.txt

설치가 완료되면 admin credential 파일이 생성됩니다.

ls -l /root/keystonerc_admin
source /root/keystonerc_admin
openstack service list
openstack endpoint list
openstack compute service list
openstack network agent list

대시보드 확인

curl -I http://$(hostname -I | awk '{print $1}')/dashboard

브라우저에서 다음 주소를 열어 Horizon에 접속합니다.

http://<openstack-node-ip>/dashboard

문제 해결

sudo journalctl -u httpd -n 100 --no-pager
sudo journalctl -u openstack-nova-compute -n 100 --no-pager
sudo tail -n 100 /var/log/packstack/setup.log
sudo tail -n 100 /var/log/messages
openstack token issue

Packstack 설치가 실패하면 같은 서버에서 무리하게 재실행하기보다 setup.log의 실패 컴포넌트를 확인하고 snapshot으로 되돌리는 것이 빠를 때가 많습니다. OpenStack 컴포넌트가 많기 때문에 재설치 전 VM snapshot을 남기는 습관이 중요합니다.

공식 문서

BGM EVER