본문 바로가기
Openstack

devstack으로 openstack 실습

by 판매자명단 2023. 9. 5.
apt-get -y install apache2  
apt-get -y install python3 python3-pip git

openstack 설치를위해 패키지를 설치한다

useradd -s /bin/bash -d /opt/stack -m stack
chmod +x /opt/stack
echo "stack ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/stack
sudo -u stack -i 
git clone https://opendev.org/openstack/devstack 
cd devstack

openstack에서 사용할 stack 계정을 만들어주고 로그인한 후 home diretory에 git으로 openstack 파일을 가져온다

sudo git checkout
sudo chown -R stack.stack /opt/stack/devstack
nano /opt/stack/devstack/local.conf
./stack.sh

#local.conf
[[local|localrc]]
# ===== BEGIN localrc =====
HOST_IP=192.168.2.11 # 본인 host ip
ADMIN_PASSWORD=openstack
DATABASE_PASSWORD=openstack
RABBIT_PASSWORD=openstack
SERVICE_PASSWORD=openstack
SERVICE_TOKEN=openstack

PUBLIC_INTERFACE=ens33 # 본인 network name
FLOATING_RANGE=192.168.2.0/24
PUBLIC_NETWORK_GATEWAY=192.168.2.2     
Q_FLOATING_ALLOCATION_POOL=start=192.168.2.100,end=192.168.2.150
GIT_BASE=https://opendev.org

LOGFILE=$DEST/logs/stack.sh.log
VERBOSE=True
LOG_COLOR=True
enable_service rabbit
enable_plugin neutron $GIT_BASE/openstack/neutron
enable_service q-qos
enable_service placement-api placement-client

enable_plugin octavia $GIT_BASE/openstack/octavia master
enable_plugin octavia-dashboard $GIT_BASE/openstack/octavia-dashboard
enable_plugin ovn-octavia-provider $GIT_BASE/openstack/ovn-octavia-provider
enable_plugin octavia-tempest-plugin $GIT_BASE/openstack/octavia-tempest-plugin
enable_service octavia o-api o-cw o-hm o-hk o-da

disable_service c-api c-vol c-sch
enable_service tempest
# ===== END localrc =====

업데이트 확인후 폴더 안의 내용물의 소유권을 전부 stack으로 바꿔준 다음 local.conf 파일에 위 내용을 복사해준다

stack.sh를 실행해준다

hostip/dashboard에 접속해 admin/openstack 으로 로그인해준다

 

wget https://cloud-images.ubuntu.com/bionic/current/bionic-server-cloudimg-amd64.img
# 이번 실습에 사용한 이미지

apt install -y libguestfs-tools
virt-customize -a bionic-server-cloudimg-amd64.img --root-password password:12345

ubuntu에서 위 이미지를 다운받고 이미지의 root password를 변경해준다

프로젝트-compute-이미지-이미지생성

다운받은 이미지를 넣어준 다음

프로젝트-네트워크-네트워크

네트워크 이름과 주소, 서브넷, 게이트웨이를 설정하고 만들어준다

이번 실습에서는 pr1 / 10.10.10.0/24 / 10.10.10.1을 사용했다

프로젝트-네트워크-라우터

외부와 연결을 위해 라우터를 하나 생성해준다음

r1-인터페이스

인터페이스에서 위에 만든 네트워크를 추가해준다

 

프로젝트-네트워크-보안그룹

보안그룹을 생성하고 그룹에서 사용할 규칙을 정해준다

이번엔 원활한 실습을 위해 TCP UDP ICMP를 모두 열어주었다

프로젝트-compute-인스턴스

인스턴스에서 위에 만든 이미지/보안그룹/네트워크를 설정해준다

key pair는 후에 ssh접속을 위해 필요하므로 생성 하거나 기존에 있는것을 사용한다

위에서 만든 인스턴스에서 콘솔로 접속해 root/12345(위에 virt로 설정한 비밀번호)로 접속한다

라우터로 인스턴스 네트워크와 public을 연결해 주었으므로 외부로 ping이 되는것을 확인할 수 있다

 

인스턴스 오른쪽에 화살표를 눌러 유동IP를 연결해주면 외부에서 인스턴스로도 통신도 가능하다

 

위와 같은 방법으로 web1,web2를 shared 네트워크로 만들고 라우터를 shared에 연결해준다

web1,2에 dns를 설정해주고 apache를 설치한다음 외부에서 할당된 유동IP로 접속해보면

apache 기본페이지가 열린다

'Openstack' 카테고리의 다른 글

openstack 수동 설정 placement  (0) 2023.09.07
openstack 수동설정 nova  (0) 2023.09.07
openstack 수동설정 glance  (0) 2023.09.07
openstack 수동설정 keystone  (0) 2023.09.06
openstack 수동설정 사전 작업  (0) 2023.09.06