반응형
DevStack
DevStack이란?
DevStack은 개발자와 OpenStack 초기 입문자를 위해 만들어진 간단한 OpenStack 배포 스크립트로 생각하면 됩니다.
해당 스크립트는 단일 노드에서 구성하는 것이 가능하고 OpenStack의 핵심 서비스들을 설치 할 수 있습니다.
구성 환경
[가상머신 _ Virtaul Box]
Processor : 2
RAM : 4G (4G 이상 권장)
Network :
내부망 : 192.168.59.31 (enp0s3)
외부망 : NAT (enp0s9)
[OS Version _ Ubuntu20.04]
# cat /etc/os-release
NAME="Ubuntu"
VERSION="20.04.3 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.3 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal
- Ubuntu 20.04 를 VirtualBox를 통해 설치합니다.
- 내부망을 통해 구성하되 외부망 통신으로 git을 통해 devstack 설치를 진행합니다.
- RAM 4G 이상 진행해야 오류가 나지 않습니다.
- VBox에서 snapshot을 이용하여 초기 설정 저장합니다.
Step 1. 레포지토리(Repository) 설정
# cd /etc/apt
# cp /etc/apt/source.list cp /etc/apt/source.list.org
# cat /etc/apt/source.list
# sed -i 's/kr.archive.ubuntu.com/ftp.daumkakao.com/g' /etc/apt/sources.list
# cat /etc/apt/source.list
# apt-get update
# apt-get upgrade
* 참고 |
네트워크 환경에 따라 설치 시간이 다르고 기존 서버보다 kakao 서버가 더 안정적이고 빠르기 때문에 변경해 줍니다. |
- 명령어는 root를 통해 진행합니다.
Step 2. 파이썬 설치(Python3)
# apt install python3-pip
# apt install virtualenv
* Point |
devstack 을 설치함에 python 설치 에러가 치명적이기에 관련 패키지를 미리 설치해 줍니다. [발생 Error] ... +tools/install_pip.sh:install_get_pip:92 sudo -H -E python3.8 /opt/stack/devstack/files/get-pip.py /usr/lib/python3/dist-packages/secretstorage/dhcrypto.py:15: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead from cryptography.utils import int_from_bytes /usr/lib/python3/dist-packages/secretstorage/util.py:19: CryptographyDeprecationWarning: int_from_bytes is deprecated, use int.from_bytes instead from cryptography.utils import int_from_bytes that setuptools is always imported before distutils. ... stack.sh failed Error on exit |
- 명령어는 root를 통해 진행합니다.
Step 3. Stack 계정 생성(User Account)
# useradd -s /bin/bash -d /opt/stack -m stack
# echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
# passwd stack
# sudo su - stack
* Point |
devstack 을 설치함에 python 설치 에러가 치명적이기에 관련 패키지를 미리 설치해 줍니다. |
- 명령어는 root를 통해 진행
- useradd -s 옵션은 계정 shell 설정 / -d 옵션은 home 디렉토리 경로 설정 / -m 홈 디렉토리 생성 설정
- sudo 설정을 통해 stack 계정은 모든 명령어(명령어 앞에 sudo)를 패스워드 없이 사용.
- stack 패스워드 설정
- stack 계정으로 계정 스위치
- Snapshot 생성
Step 4. git을 통한 devstack 다운로드
$ id
$ git clone https://git.openstack.org/openstack-dev/devstack
* Point |
stack 계정의 홈 디렉토리에서 명령어 수행합니다. /opt/stack |
- stack 계정에서 진행
Step 5. 설정 파일 변경
$ cd /opt/stack
$ ls
$ cd /opt/stack/devstack
$ vi /opt/stack/devstack/local.conf
[[local|localrc]]
ADMIN_PASSWORD=stack
RABBIT_PASSWORD=stack
SERVICE_PASSWORD=stack
DATABASE_PASSWORD=stack
HOST_IP=192.168.59.31
SERVICE_HOST=192.168.59.31
MYSQL_HOST=192.168.59.31
RABBIT_HOST=192.168.59.31
GLANCE_HOSTPORT=192.168.59.31:9292
$ sudo chown -R stack devstack
$ sudo chmod -R 777 devstack
* Point |
cp samples/local.conf local.conf 해당 명령어를 통해 local.conf를 가져와도 됩니다. 패스워드 및 IP 주소를 설정합니다. |
- chown, chmod 명령어를 통해 디렉토리의 하위 권한 및 소유자를 변경
Step 6. Devstack 설치 진행
$ cd /opt/stack/devstack
$ ./stack.sh
* Point |
중간에 패스워드를 물어 볼 경우 위에 설정했던 패스워드 입력합니다. |
- 소요시간 30분 이상 (네트워크 환경에 따라 상이)
Step 7. Devstack 설치 완료 및 대시보드 설정
$ ./stack.sh
...
...
...
=========================
DevStack Component Timing
(times are in seconds)
=========================
wait_for_service 16
pip_install 186
apt-get 204
run_process 30
dbsync 9
git_timed 1007
apt-get-update 3
test_with_retry 4
async_wait 79
osc 255
-------------------------
Unaccounted time 80
=========================
Total runtime 1873
=================
Async summary
=================
Time spent in the background minus waits: 452 sec
Elapsed time: 1873 sec
Time if we did everything serially: 2325 sec
Speedup: 1.24132
This is your host IP address: 192.168.59.31
This is your host IPv6 address: ::1
Horizon is now available at http://192.168.59.31/dashboard
Keystone is serving at http://192.168.59.31/identity/
The default users are: admin and demo
The password: stack
Services are running under systemd unit files.
For more information see:
https://docs.openstack.org/devstack/latest/systemd.html
DevStack Version: yoga
Change:
OS Version: Ubuntu 20.04 focal
* Point |
http://192.168.59.31/dashboard 를 통해 인터넷 브라우저에서 대시보드 진입합니다. |
- 계정 admin 패스워드 stack 입니다.
- 설치 시 많은 오류가 있어 많은 구글링이 필요합니다. 힘내세요!
Step 7. 대시보드 확인
Step -. 설치를 실패할 경우
$ cd /opt/stack/devstack
$ ./unstack.sh
$ ./clean.sh
* Point |
설치 실패 시 위에 저장했던 snapshot을 이용하여 재설치 하는게 낫습니다. 어디서 오류가 발생했는지 알 수 없기 때문에 오류를 찾아가며 진행해야 하기 때문에 위 명령어를 통해 재설치 할 경우 똑같은 이유로 실패할 경우가 많이 생깁니다. |
- unstack.sh를 통해 프로젝트서비스,mysql, rabbitmq 중지합니다.
- unstack.sh를 통해 iSCSI 볼륨 정리 및 임시 LVM 마운트 제거합니다.
- clean.sh를 통해 /etc 설정 파일, 로그파일, .pyc 파일 제거 및 하이퍼바이저 정리, 데이터베이스 정리를 합니다.
Ref
* 참고 사이트 |
DevStack으로 변경 사항 테스팅하기 — contributor-guide 문서 (openstack.org) https://naleejang.tistory.com/ |
반응형
'리눅스 > 설치' 카테고리의 다른 글
[LINUX] SuSE 15 설치 (0) | 2023.02.16 |
---|---|
[LINUX] 1. ANSIBLE 설치 (0) | 2022.03.01 |
[리눅스] Rescue Mode (0) | 2022.02.07 |
[리눅스] ReaR(Relax-and-Recover) 백업 (0) | 2022.02.03 |