본문 바로가기
💾 공대 라이프/클라우드_가상화

우분투(ubuntu 22.04 LTS)에 OpenStack 설치 실습

by kuve 2023. 2. 8.
반응형

https://kuveminton.tistory.com/76

 

우분투(ubuntu 20.04) 20.04에 OpenStack 설치 실습(설치 실패...)

1. ubuntu 20.04 준비 2. ubuntu 20.04에 devstack 설치 (openstack 공식 사이트 참고) https://docs.openstack.org/devstack/latest/ DevStack — DevStack documentation DevStack DevStack is a series of extensible scripts used to quickly bring up a com

kuveminton.tistory.com

 

위의 글에서 ubuntu 20.04를 사용하여 OpenStack 설치를 시도하였으나, 

결국 지속되는 error 들로 인해서 실패함. 

 

ubuntu 22.04 LTS 에서 재진행을 아래와 같이 진행함. 

 


Ubuntu 22.04 LTS  설치 후 OpenStack 설치 과정을 순차적으로 기술함. 

 

1. 인터넷 외부 접속을 위해서 open-ssh 설치를 진행 

   root@deab-virtual-machine:/home/deab# apt install openssh-server

   => 'openssh-server' has no installation candidate 출력되는 현상 발생하며 ssh 설치 실패

 

** 조치 사항 

 apt update 진행 후 openssh 설치 진행 

root@deab-virtual-machine:/home/deab# sudo apt update -y
root@deab-virtual-machine:/home/deab# apt install openssh-server -y

 

ssytemctl status ssh 로 ssh가 정상적으로 설치/서비스 되는지 확인 

 


 

2. secure crt에서 ssh 접속 시도 시 crt 버전과 ssh 버전 미스로 인한 key error 조치

Key exchange failed. No compatible key exchange method. The server supports these methods: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256

 

 

** 조치 사항 

/etc/ssh/sshd_config에 키알고리즘 및 사이퍼 추가 

HostKeyAlgorithms +ssh-rsa
PubkeyAcceptedKeyTypes +ssh-rsa

KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc

 

2-2. sshd 상태 확인 및 restart 후 secure crt에서 ssh 접속 확인 

root@deab-virtual-machine:/home/deab# systemctl restart sshd
root@deab-virtual-machine:/home/deab# systemctl status sshd

 

 


3. stack 유저 생성 

deab@deab-virtual-machine:~$ sudo useradd -s /bin/bash -d /opt/stack -m stack
deab@deab-virtual-machine:~$ sudo chmod +x /opt/stack
deab@deab-virtual-machine:~$ echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
stack ALL=(ALL) NOPASSWD: ALL
deab@deab-virtual-machine:~$ sudo -u stack -i
stack@deab-virtual-machine:~$ 

 


 

4. Devstack 다운로드 및 설치 

 

https://docs.openstack.org/devstack/latest/#

 

DevStack — DevStack documentation

DevStack DevStack is a series of extensible scripts used to quickly bring up a complete OpenStack environment based on the latest versions of everything from git master. It is used interactively as a development environment and as the basis for much of the

docs.openstack.org

 

git clone 시 git이 설치되어 있지 않으므로 git 부터 설치한다. 

stack@deab-virtual-machine:~$ sudo apt install git 

 

 

git 설치 후 다시 devstack 설치 진행 중 error: RPC failed 발생

stack@deab-virtual-machine:~$ git clone https://opendev.org/openstack/devstack

error: RPC failed; curl 56 GnuTLS recv error (-9): Error decoding the received TLS packet.

 

** 조치 사항

gnutls-bin을 설치하고 git clone 재실행

stack@deab-virtual-machine:~$ sudo apt install gnutls-bin

 

gnutls-bin 설치 후 git clone 이상 없이 완료됨 

stack@deab-virtual-machine:~$ git clone https://opendev.org/openstack/devstack

 

 


 

5. devstack 에서 사용할 local.conf 생성 및 사용자화 

sample 컨피그를 복사하여 생성 후 필요한 부분만 사용자화를 진행함 

stack@deab-virtual-machine:~/devstack$ cp ./samples/local.conf local.conf 

 

https://docs.openstack.org/devstack/latest/configuration.html#local-conf

 

Configuration — DevStack documentation

KVM on s390x (IBM z Systems) is supported since the Kilo release. For an all-in-one setup, these minimal settings in the local.conf file are needed: Note To run Tempest against this Devstack all-in-one, you’ll need to use a guest image which is smaller t

docs.openstack.org

 

 

최소 설정에 필요한 Password 들만 "openstack" 으로 모두 변경

Host_IP에 사용할 IP를 설정 

 

 


6. stack.sh로 devstack 설치 진행 

stack@deab-virtual-machine:~/devstack$ ./stack.sh

 

설치 중 아래와 같이 error: RPC failed 발생.

ImportError: cannot import name 'spawn' from 'distutils' (/usr/lib/python3.10/distutils/__init__.py)

 

 

** 조치 사항 

python3.10의 distutil을 설치함. 

stack@deab-virtual-machine:~/devstack$ sudo apt-get install python3.10-distutils

 

 

위 조치(python3.10 disutils 설치) 후 ./stack.sh 진행하였으나 아래와 같은 에러 발생함 

[ERROR] /opt/stack/devstack/functions-common:730 git call failed: [git clone https://opendev.org/openstack/requirements.git /opt/stack/requirements --branch master]
Error on exit
/opt/stack/devstack/tools/worlddump.py:22: DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives from distutils import spawn

 

** 조치 사항 

1) 아래와 같이 git config 추가 후 ./stack.sh 진행 

stack@deab-virtual-machine:~/devstack$ git config --global http.sslVerify false
stack@deab-virtual-machine:~/devstack$ git config --global http.postBuffer 1048576000
stack@deab-virtual-machine:~/devstack$ git config --global core.longpaths true
stack@deab-virtual-machine:~/devstack$ git config --global core.compression -1

 

 

 

2) 위의 조치사항 후 ./stack.sh 진행하였으나 동일 문제가 재현되어 아래와 같이 neutron stable 버전을 설치함 
아래의 git clone으로 neutron stable 버전 설치 

stack@deab-virtual-machine:~/devstack$ git clone --depth=1 https://opendev.org/openstack/neutron.git --branch stable/zed

 

하지만 아래와 같이 설치 실패함..

 

3) ./unstack.sh 로 제거 후 ./stack.sh로 재설치 후 정상적으로 설치됨 

stack@deab-virtual-machine:~/devstack$ ./unstack.sh 

stack@deab-virtual-machine:~/devstack$ ./stack.sh 

 

 

Host IP로 접속해보면 아래와 같이 openstack dashboard가 열림. 

짜란~~~~

 

 

 

 

 

 

 

Ubuntu 22.04에 OpenStack 설치 포스팅은 여기까지 입니다. 

OpenStack을 사용해보면서 사용자화 하는 과정은 추가로 포스팅 할게요~~~ 

 

 

 

https://kuveminton.tistory.com/56

 

클라우드 컴퓨팅의 정의(Iaas/Paas/SaaS)

클라우드(cloud)란 무엇인가? 클라우드 컴퓨팅(cloud computing)이란 무엇인가? '클라우드'는 직역하면 '구름'으로 시각적으로 관찰할 수 없는 위치의 컴퓨팅 장비망을 의미한다고 볼 수 있다. 클라우

kuveminton.tistory.com

https://kuveminton.tistory.com/57

 

하이퍼바이저의 정의와 분류(BareMetal/Native/Hosted)

이전 글에서 클라우드 컴퓨팅의 구분 중 IaaS는 서버/스토리지/네트워크를 가상 환경으로 만들어 해당 인프라 자원을 사용할 수 있도록 제공하도록 하는 서비스라고 하였다. https://kuveminton.tistory.

kuveminton.tistory.com

https://kuveminton.tistory.com/58

 

하이퍼바이저 오픈스택(OpenStack)의 기본 개념과 역사

https://kuveminton.tistory.com/56 클라우드 컴퓨팅의 정의(Iaas/Paas/SaaS) 클라우드(cloud)란 무엇인가? 클라우드 컴퓨팅(cloud computing)이란 무엇인가? '클라우드'는 직역하면 '구름'으로 시각적으로 관찰할 수

kuveminton.tistory.com

 

반응형

댓글