진짜 개발자
본문 바로가기

Cloud/OpenStack

OpenStack - DevStack이란? DevStack설치

728x90

DevStack이란?

- Ubuntu 리눅스의 OpenStack 자동 설치 도구



DevStack 사양

NIC - Nat, Bridge

RAM - 8GB **

CPU - 2Processors, 1Core , 가상화 제공



DevStack 설치

1. 관리자 계정으로 변경


2. stack User 추가


3. 환경변수 추가


4. stack 으로 계정 변경


5. git에서 devstack 다운로드


6. devstack 디렉토리로 이동하여 local.conf 파일 생성 후 아래 내용 기입


local.conf 파일 내용

# default

HOST_IP=1.0.0.62

SERVICE_HOST=1.0.0.62


# Compute 을 여러대 설치

MULTI_HOST=True


# Private subnet

FIXED_RANGE=10.1.0.0/24


# Nova-network service

#enable_service n-net

#FIXED_NETWORK_SIZE=256

#FLOATING_RANGE=192.168.75.192/26

#FLAT_INTERFACE=eth1

#PUBLIC_INTERFACE=eth0


# Neutron External subnet

#NETWORK_GATEWAY=10.0.0.1

FLOATING_RANGE=10.0.0.0/23

PUBLIC_NETWORK_GATEWAY=10.0.0.1

Q_FLOATING_ALLOCATION_POOL=start=10.0.0.141,end=10.0.0.150


# Neutron configuration

Q_PLUGIN=ml2

Q_AGENT=openvswitch

Q_ML2_PLUGIN_MECHANISM_DRIVERS=openvswitch,linuxbridge,l2population

Q_ML2_TENANT_NETWORK_TYPE=gre

Q_AGENT_EXTRA_AGENT_OPTS=(tunnel_type=gre)

Q_AGENT_EXTRA_SRV_OPTS=(local_ip=$HOST_IP)

Q_USE_NAMESPACE=True

Q_USE_SECGROUP=True


# Nova service

enable_service n-api

enable_service n-crt

enable_service n-obj

enable_service n-cpu

enable_service n-cond

enable_service n-sch

enable_service n-novnc

enable_service n-cauth


# Cinder service

enable_service cinder

enable_service c-api

enable_service c-vol

enable_service c-sch

enable_service c-bak


# Tempest service

enable_service tempest


# Neutron service

disable_service n-net

enable_service neutron

enable_service q-svc

enable_service q-agt

enable_service q-dhcp

enable_service q-l3

enable_service q-meta

enable_service q-lbaas


# Controller Node

Q_HOST=$SERVICE_HOST


# vnc

VNCSERVER_LISTEN=0.0.0.0

VNCSERVER_PROXYCLIENT_ADDRESS=$HOST_IP


# logs

DEST=/opt/stack

LOGFILE=$DEST/logs/stack.sh.log

SCREEN_LOGDIR=$DEST/logs/screen


# system password

ADMIN_PASSWORD=It1234

MYSQL_PASSWORD=It1234

RABBIT_PASSWORD=It1234

SERVICE_PASSWORD=It1234

SERVICE_TOKEN=admin


# Cinder configuration

VOLUME_GROUP="cinder-volumes"

VOLUME_NAME_PREFIX="volume-"


# Heat service

enable_service heat

enable_service h-api

enable_service h-api-cfn

enable_service h-api-cw

enable_service h-eng


# Ceilometer service

enable_service ceilometer

enable_service ceilometer-acompute

enable_service ceilometer-acentral

enable_service ceilometer-collector

enable_service ceilometer-api

enable_service ceilometer-alarm-singleton

enable_service ceilometer-alarm-notifier


# Swift service

enable_service s-proxy

enable_service s-object

enable_service s-container

enable_service s-account


# Trove service

enable_service trove

enable_service tr-api

enable_service tr-tmgr

enable_service tr-cond



KEYSTONE_CATALOG_BACKEND=sql

API_RATE_LIMIT=False

SWIFT_HASH=testing

SWIFT_REPLICAS=1


# github branch

GLANCE_BRANCH=stable/queens

HORIZON_BRANCH=stable/queens

KEYSTON_BRANCH=stable/queens

NOVA_BRANCH=stable/queens

NEUTRON_BRANCH=stable/queens

HEAT_BRANCH=stable/queens

CEILOMETER_BRANCH=stable/queens

SWIFT_BRANCH=stable/queens

TROVE_BRANCH=stable/queens

TEMPEST_BRANCH=stable/queens


#scheduler

SCHEDULER=nova.scheduler.filter_scheduler.FilterScheduler


# A clean install every time

#RECLONE=yes


7. stack.sh 실행


8. OpenStack 접속

1) 브라우저에서 1.0.0.62 로 접속



2) my.txt에 기입한 system password 부분이 로그인 아이디와 암호이다.

# system password

ADMIN_PASSWORD=It1234

MYSQL_PASSWORD=It1234

RABBIT_PASSWORD=It1234

SERVICE_PASSWORD=It1234

SERVICE_TOKEN=admin



가상머신 구성

1. 네트워크 탭 관리에서 공유 네트워크 생성 

프로젝트 : admin

공급자 네트워크 유형 : VLAN

구현 ID

공유
외부 체크

10.0.0.0 /24

2. 네트워크 탭 프라이빗

네트워크

10.1.0.0 /24

DG

10.1.0.1 /24

DHCP 

=10.0.1.101-10.1.0.200


2. 라우터 생성