구축/Openstack

openstack 구축 1 사전 환경 구축

KidAnt 2023. 12. 26. 14:23

보안 구성

  • openstack은 구축과정에서 각 서비스 및 db 별로 password를 설정해야 한다.
  • 만약 따로 각 서비스별로 비밀번호를 지정하지 않았다면 대시보드에서 자주사용하는 admin 및 user의 계정이 아닌이상 보안을 위해 아래의 명령어를 사용하여 무작위 hex값을 사용하길 권장한다.
openssl rand -hex 10
  • 사용 password 목록
    • service 설명
      ADMIN_PASS 어드민 계정
      DEMO_PASS 일반 사용자용(demo) 계정
      CINDER_DBPASS cinder(스토리지 관련) mysql 계정
      CINDER_PASS cinder(스토리지 관련) 계정
      DASH_DBPASS dash(대시보드) mysql 계정
      GLANCE_DBPASS glance(이미지 관련) mysql 계정
      GLANCE_PASS glance(이미지 관련) 계정
      KEYSTONE_DBPASS keyston(인증서 토큰) mysql 계정
      METADATA_SECRET metadata(프록시) 계정
      NEUTRON_DBPASS neutron(net 관련) mysql 계정
      NEUTRON_PASS neutron(net 관련) 계정
      NOVA_DBPASS noba(컴퓨팅 관련) mysql 계정
      NOVA_PASS noba(컴퓨팅 관련) 계정
      PLACEMENT_PASS placement 계정(mysql 포함)
      RABBIT_PASS Rabbit(RabbitMQ) 계정

호스트 네트워킹

  • 각 노드들의 관리적 편의성을 위해 hosts설정을 해줘야한다.
  • controller 노드
vi /etc/hosts
# controller 추가
(controller ip or localhost ip) controller
# 이후 추가적인 ip를 가진 노드가 있을경우 등록
(nova ip) compute
(cinder ip) storage
....
  • Compute 노드 및 나머지 노드들
vi /etc/hosts
# Compute, controller 추가
(Compute ip or localhost ip) compute
#설정하는 노드에 맞게 수정
(controller ip) controller
# 이후 추가적인 ip를 가진 노드가 있을경우 등록
(storage node ip) storage
(network node ip) network

Newtork Time Protocol (NTP)

  • controller 노드
#Ubuntu에서 NPT설치
apt-get update
apt install chrony

#chrony.conf 파일 설정
/etc/chrony/chrony.conf
allow (network ip)/(subnet)
#각 노드 별로 네트워크 ip 등록

service chrony restart
#서비스 다시시작
  • 이외 노드들
#Ubuntu에서 NPT설치
apt-get update
apt install chrony

#chrony.conf 설정
vi /etc/chrony/chrony.conf
server controller iburst
#server 키를 제외한 나머지를 주석 처리 또는 삭제

service chrony restart
#서비스 다시시작
  • 확인
#컨트롤러 노드에서
chronyc sources
#검증 확인
  210 Number of sources = 2
  MS Name/IP address         Stratum Poll Reach LastRx Last sample
  ===============================================================================
  ^- 192.0.2.11                    2   7    12   137  -2814us[-3000us] +/-   43ms
  ^* 192.0.2.12                    2   6   177    46    +17us[  -23us] +/-   68ms
  #검증 확인 예시
  
  #그 이외 노드에서
chronyc sources
#검증 확인
  210 Number of sources = 1
  MS Name/IP address         Stratum Poll Reach LastRx Last sample
  ===============================================================================
  ^* controller                    3    9   377   421    +15us[  -87us] +/-   15ms
#검증 확인 예시

SQL 데이터베이스 구축

  • 패키지 설치
apt-get update
apt install mariadb-server python3-pymysql
#mriadb 설치

vi /etc/mysql/mariadb.conf.d/99-openstack.cnf
#openstack 설정을 위한 99-openstack.cnf 파일 생성 및 설정
[mysqld]
bind-address = (controll node ip)

default-storage-engine = innodb
innodb_file_per_table = on
max_connections = 4096
collation-server = utf8_general_ci
character-set-server = utf8
  • 설치 후 마무리
service mysql restart
#db 재시작
mysql_secure_installation
#mysql root passwrod 설정

메세지 큐

  • 패키지 설치 및 설정
apt-get update
apt install rabbitmq-server
#RabbitMQ 설치

rabbitmqctl add_user openstack RABBIT_PASS
#RabbitMQ에 openstack 사용자 추가(보안 부분에서 설정한 RABBIT_PASS 기입)

rabbitmqctl set_permissions openstack ".*" ".*" ".*"
#openstack 사용자에 대해 구성, 쓰기와 읽기 접근을 허용

Memcached

  • 설치 및 설정
apt-get update
apt install memcached python3-memcache
#memcached 설치 및 라이브러리 추가

vi /etc/memcached.conf
-l 127.0.0.14 
->
-l (controller ip)
#해당 부분 수정

service memcached restart
#재시작

Etcd

  • 설치 및 설정
apt install etcd
#설치

vi /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://controller:2380"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://controller:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://controller:2379"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379"
#관리 네트워크를 통해 다른 노드들이 들어올 수 있도록 각 항목의 ip를 컨트롤러 노드의 ip로 수정해야한다.
#controller을 기입해 대체하여도 된다.

systemctl enable etcd
systemctl restart etcd
#서비스를 자동시작 등록 후 재시작

'구축 > Openstack' 카테고리의 다른 글

openstack 구축 5 nova  (2) 2024.01.03
openstack 구축 4 placement  (0) 2023.12.28
openstack 구축 3 glance  (0) 2023.12.28
openstack 구축 2 keystone  (1) 2023.12.27
openstack 구축 0 들어가기 앞서  (1) 2023.12.26