본문 바로가기

Cloud/Openstack

openstack 최신 bobcat 버전 수동 설치 - Environment

버추얼박스 기준으로 작성된 문서입니다.

 

Environment

오픈스택 구성은 single node로 controller node와 compute node를 합쳐서 구축합니다.
또한 네트워크는 Self-Service Network로 구축합니다.

  • Controller 가상머신 구성표
OS Ubuntu 20.04 LTS  
eth0 (openstack 용도) 10.0.2.4 외부통신 O
eth1 (ssh 용도) 192.168.0.20 외부통신 X
 

1. /etc/hosts 파일에 다음과 같이 host를 등록해준다.

...
10.0.2.4 controller
...

2. 오픈스택 패키지를 설치해준다.

# add-apt-repository cloud-archive:bobcat
# apt install python3-openstackclient
 
3. NTP설정을 하여 시간을 맞춰줍니다.

 

SQL database

대부분의 OpenStack 서비스는 SQL 데이터베이스를 사용하여 정보를 저장합니다. 데이터베이스는 일반적으로 컨트롤러 노드에서 실행됩니다. 이 가이드의 절차는 배포에 따라 MariaDB 또는 MySQL을 사용합니다. OpenStack 서비스는 PostgreSQL 을 포함한 다른 SQL 데이터베이스도 지원합니다 .

구성 요소 설치 및 구성

1. 패키지 설치:

# apt install mariadb-server python3-pymysql

2. /etc/mysql/mariadb.conf.d/99-openstack.cnf 파일을 생성 및 아래와 같이 내용을 넣어줍니다.

[mysqld]
bind-address = 10.0.2.4

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8

설치완료

1. 데이터베이스 서비스를 다시 시작합니다.

# service mysql restart

2. mysql_secure_installation 스크립트를 실행시킵니다. 그리고 데이터베이스 root 계정 비밀번호를 설정해주세요.

# mysql_secure_installation
...
Enter current password for root (enter for none):
...
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
...
Remove anonymous users? [Y/n] y
...
Disallow root login remotely? [Y/n] y
...
Remove test database and access to it? [Y/n] y
...
Reload privilege tables now? [Y/n] y
...
Thanks for using MariaDB!



Message queue

OpenStack은 message queue 을 사용하여 서비스 간의 작업 및 상태 정보를 조정합니다. 메시지 대기열 서비스는 일반적으로 컨트롤러 노드에서 실행됩니다. OpenStack은 RabbitMQ , Qpid  ZeroMQ 를 포함한 여러 메시지 대기열 서비스를 지원합니다.

구성 요소 설치 및 구성

1. 패키지 설치:

# apt install rabbitmq-server

2. openstack 사용자 추가 :

# rabbitmqctl add_user openstack $RABBIT_PASS

$RABBIT_PASS에 패스워드를 설정해주세요.

3. openstack 사용자에 대한 구성, 쓰기 및 읽기 액세스를 허용합니다. :

# rabbitmqctl set_permissions openstack ".*" ".*" ".*"



Memcached

서비스에 대한 ID 서비스 인증 메커니즘은 Memcached를 사용하여 토큰을 캐시합니다. memcached 서비스는 일반적으로 컨트롤러 노드에서 실행됩니다.

구성 요소 설치 및 구성

1. 패키지 설치:

# apt install memcached python3-memcache

2. /etc/memcached.conf 파일을 편집하고 컨트롤러 노드의 관리 IP 주소를 사용하도록 서비스를 구성합니다. 이는 관리 네트워크를 통해 다른 노드에서 액세스할 수 있도록 하기 위한 것입니다. :

-l 10.0.2.4

설치 완료

  • Memcached 서비스를 다시 시작합니다.
# service memcached restart



Etcd

OpenStack 서비스는 분산 키 잠금, 구성 저장, 서비스 활성 추적 및 기타 시나리오를 위한 안정적인 분산 키-값 저장소인 Etcd를 사용할 수 있습니다.

구성 요소 설치 및 구성

1. 패키지 설치 :

# apt install etcd

2. /etc/default/etcd 파일을 아래와 같이 수정해줍니다. :

ETCD_NAME="controller"
ETCD_DATA_DIR="/var/lib/etcd"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster-01"
ETCD_INITIAL_CLUSTER="controller=http://10.0.2.4:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://10.0.2.4:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://10.0.2.4:2379"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://10.0.2.4:2379"
 

설치 완료

  • etcd 서비스를 활성화하고 다시 시작합니다.
# /lib/systemd/systemd-sysv-install enable etcd
# systemctl restart etcd