오픈스택이란 가상 리소스를 이용하여 프라이빗, 퍼블릭 클라우드를 구축하여 관리, 유지보수를 하는 오픈소스 플랫폼을 뜻합니다.
Openstack는 컴퓨팅, 네트워킹, 스토리지, Identity 및 이미지 서비스의 핵심 클라우드 컴퓨팅 서비스를 처리합니다. 또한 수십 개 이상의 옵션 프로젝트를 번들로 묶어 배포 가능한 고유의 클라우드를 생성할 수 있습니다.
오픈스택에서 여러가지 오픈소스 프로젝트로 이루어져 있는데 각 환경 설정 및 코어 구성 요소로 이루어져 있어 컴퓨팅,네트워킹, 스토리지, ID, 이미지등을 처리하는 안정적인 핵심서비스가있으며
개발이 진행됨에 따라 수십 가지 이상의 옵션이 제공됩니다. 이 핵심 서비스는 나머지 프로젝트에서 대시보드, 오케스트레이션, 베어메탈 프로비저닝, 메시징, 컨테이너, 거버넌스를 처리하도록 지원하는 인프라가 됩니다.
먼저 컴퓨터는 우분트 20.04.06 LTS버전의 설정을 하였습니다.
오픈스택을 실행하기전에 먼저 처음 설정을 해야하는 것이 그 버전들의 리스트들을 업데이트하기 위한 명령어를 사용하여야 해서 upgrade, update를 진행합니다.
sudo apt update
sudo apt upgrade -y
sudo apt-get update
sudo apt-get upgrade -y
오픈스택을 사용하기 위해서는 새로운 User아이디를 설정해야한다.
필자는 devstack을 이용하여 설치하기 때문에 우분투에 새로운 계정을 추가하였
sudo useradd -s /bin/bash -d /opt/stack -m stack
sudo chmod +x /opt/stack
chmod를 하는 이유는 권한을 높여 패키지 설치시 불가능한것을 막기 위해서 인듯하다.
다음 사용자 stack의 권한에 sudo 권한을 부여해야함.
이유는 시스템 설정을 할때 sudo권한으로 설치, 설정을 많이 하기 때문에 미리 설정함.
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
다음으로 stack ALL=(ALL) NOPASSWD: ALL 이란 출력값이 나올 것인데 이렇게 되면
지금까지는 정확하게 따라온 것이다.
다음 사용자 를 stack으로 바꾸자
sudo su - stack #
su - 는 다른 사용자의 계정으로 완전히 전환하고, 전환한 사용자의 환경설정을 불러온다.
다음 github를 이용하여 openstack을 설치할 것인데 먼저 github먼저 설치하자
sudo apt install git -y
git clone https://opendev.org/openstack/devstack
이렇게 하면 stack의 계정안에 따로 devstack이 설치된 것이 보일 것이다. ls명령어로 확인해보자.
다음 우리는 devstack을 이용하여 설치를 하였지만 우리는 openstack을 제대로 구동시키기 위해서
openstack의 환경을 설정할 것이다. 먼저 local.conf라는 파일을 만들어야한다.
이 파일은 우리가 openstack의 기본설정에서 ip, passwd등을 설정하기 위해서 만들어진 conf파일이다.
cd devstack/
cp ./samples/local.conf local.conf
이렇게되면 devstack에서 지정한 local.conf 기본틀이 나오게 된다.

우리는 여기서 일단 최소설정에 필요한 Password와 Host_IP만 바꾸게 할 것이다.
기본적인 설정은 이것으로만 실행할 수 있다.
[[local|localrc]]
ADMIN_PASSWORD= #사용자 지정 password
DATABASE_PASSWORD=$ADMIN_PASSWORD
RABBIT_PASSWORD=$ADMIN_PASSWORD
SERVICE_PASSWORD=$ADMIN_PASSWORD
HOST_IP= #ip addr나, ifconfig로 알아낸 나만의 ip주소
혹시 필자처럼 로컬에서 설치한 우분투가 아닌 가상머신에서 사용해서 openstack을 설치할 때 반드시 설정해야하는것이 네트워크를 꼭 NAT의 형태가 아닌 Bridge로 설정하여 openstack을 실행해야한다. openstack은 내부망이 아닌 외부망에서도 사용이 가능해야 하기 때문에 NAT을 사용하면 안에서 네트워크가 돌기만 하여 외부에서는 사용이 불가능해 진다. 그렇기 떄문에 반드시 Bridge를 사용하여 ip주소를 설정하도록 하자.
다음 마지막으로 설정을 다 끝냈다. 이제 제대로 openstack을 실행하기위해 설치해보자.
./stack.sh
왜만하면 무조건 오류가 뜰것이다. 일단필자의 오류는 여러가지가 나왔지만 거기서 많이 뜬 것을 말해보겠다.
opentstack dbcounter오류가 떴는데 제대로 패키지가 설치가 불가능한 것 같다.
그래서 찾은게 python을 완전 삭제 후 새롭게 까는 것이다.
sudo apt install --reinstall python3-pip
sudo pip install -U pip
필자는 이 방법으로 이 오류를 해결함.
중간에 wheel오류가떴지만 항상 그렇게 큰 문제는 아니였음. 이거에 대해서는 좀더 찾아봐야할듯.
만약 설치가 원할하게 되었을 경우 Host ip를 설정해놓은 opentstack dashboard가 열리게 된다.
This is your IP address : #지정해놓은 IP
IP V6 ~~
#지정해놓은 IP/dashboard라는 출력값이 뜰것이다. 이렇게 되면 오픈스택 실행 성공.


오픈스택 생성 후 인스턴스 탭 클릭후 오류가 뜬다. 뭐가 문제였나 찾아보니 openstack을 껏다 키면 다시 원할하게 사용할 수 있다고 한다.
sudo systemctl restart devstack@*
이제 openstack을 제대로 공부를 해볼 차례다.
정보 감사합니다.