1. OpenStack이란?
-OpenStack은 클라우드 컴퓨팅 환경을 관리하고 운영할 수 있는 오픈 소스 소프트웨어이다. 여러 컴포넌트를 통해 컴퓨팅, 네트워크, 스토리지 리소스를 관리하고, 클라우드 환경을 쉽게 구축할 수 있도록 돕는다.
-주요 컴포넌트
Nova: 컴퓨팅 서비스
Neutron: 네트워크 관리
Cinder: 블록 스토리지 관리
Glance: 이미지 서비스 관리
Keystone: 인증 서비스 관리
Horizon: 웹 기반 관리 대시보드 제공
2. 구축환경
OS: Ubuntu 22.04 LTS
OpenStack 버전: DevStack (최신 버전)
사용자 계정: stack 사용자 계정 생성 및 환경 구성
네트워크 설정: 내부 네트워크 IP: 10.10.70.171
3. 설치 과정
1) 필수 패키지 설치
$ sudo apt-get update
$ sudo apt-get install -y git vim wget
2) stack 사용자 계정 생성
$ sudo useradd -s /bin/bash -d /opt/stack -m stack
$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
3) stack 사용자 권한 설정
$ sudo chmod +x /opt/stack
4) stack 사용자 전환
$ sudo -u stack -i
5) DevStack 설치 과정
5-1. DevStack Git Repository 클론
stack 사용자 환경으로 전환한 후, DevStack 저장소를 클론해준다.
$ git clone https://opendev.org/openstack/devstack
$ cd devstack/
5-2. DevStack 설정 파일 생성
local.conf 파일을 복사하여 DevStack 폴더에 위치시킨다.
$ cp samples/local.conf .
5-3. local.conf 파일 수정
OpenStack 관련 설정을 local.conf에 추가한다.
$ sudo vi local.conf
다음 설정을 추가하여 관리자 비밀번호와 IP 주소를 입력한다.
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack
HOST_IP=10.10.70.171 # host ip 주소
5-4. DevStack 설치 시작
stack.sh 스크립트를 실행하여 DevStack을 설치한다.
$ ./stack.sh
* 설치 도중 문제가 발생하면, 다음 명령어로 초기화 후 재설치한다.
$ ./unstack.sh # 기존 DevStack 환경 제거
$ ./clean.sh # 설정 및 임시 파일 정리
$ ./stack.sh # DevStack 재설치
4. 결과
1) Horizon 대시보드 접속
http://[host ip 주소 입력]
2) 로그인
기본 사용자: admin / 비밀번호: openstack
3) UI 구경
참고 사이트 : https://docs.openstack.org/devstack/latest/#
[오류모음]
문제 1: Git Clone 시 TLS 연결 오류 발생
에러 메시지 :
error: RPC failed; curl 56 GnuTLS recv error (-110): The TLS connection was non-properly terminated.
해결 방법 :
$ git config --global http.postBuffer 1048576000
문제 2: setup.cfg 파일 누락으로 인해 nova 설치 오류 발생
에러 메시지 :
fatal: error reading section header 'shallow-info'
해결 방법 :
nova 저장소를 수동으로 다시 클론하여 문제 해결
$ cd /opt/stack
$ sudo rm -rf nova
$ git clone https://opendev.org/openstack/nova.git /opt/stack/nova
문제 3: 데이터베이스 연결 오류 발생
$ ls /opt/stack/nova/setup.cfg 입력했더니 /opt/stack/nova/setup.cfg 이 파일이 없었음.