본문 바로가기
클라우드 아키텍처 설계 기초지식/09 오픈스택 클라우드구축

(수정중..) 클라우드 구축 (5) - OpenStack multinode

by Jasie 2018. 11. 8.

Multinode 구현

빅데이타 빅데이터 인공지능 SSL 해킹


-> 3대의 시스템을 하나의 서비스로 바꾸는 서비스임


 (1) 컨트롤러 노드

      [0] 네트워크 설정 및 호스트네임 설정

네트워크 설정하시면 됩니다.


사용자 생성

sudo passwd root //루트 사용자 패스워드 설정

 su - root //루트로 로그인

useradd -U -G sudo -s /bin/bash -m stack

echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

passwd stack

dkagh1.

dkagh1.



호스트 네임 설정

  vi /etc/hostname

controller

  재부팅



      [1] 컨트롤러 노드에서 컴퓨트 노드로 SSH 접속 가능하게 설정(패스워드 없이)

stack 사용자로 로그인

컨트롤러에서 -> ssh-keygen -t rsa 명령어로 사용자 키 생성 (개인키, 공개키 1쌍, 암호 구문이나 다른 내용들은 그냥 본인 맘대로 설정, 강사는 빈칸으로 함)


컨트롤러에서 -> chmod 700 ~/.ssh

컨트롤러에서 -> chmod 600 ~/.ssh/id_rsa

컨트롤러에서 -> chmod 644 ~/.ssh/id_rsa.pub

scp $HOME/.ssh/id_rsa.pub [컴퓨트 IP]:id_rsa.pub


--------------------------------------------------------컴퓨트 설정------------------------------------------------------------------------

컨트롤러에서 -> scp $HOME/.ssh/id_rsa.pub [컴퓨트 IP]:id_rsa.pub


테스트 : 컴퓨트 노드에서 cat 후 컨트롤러 노드에서 ssh [컴퓨트 IP] 명령어로 컴퓨트 노드로 접속했을 때 패스워드 없이 로그인이 되면 성공 -> ssh [접속할IP] ex)192.168.10.192


      [2] 컨트롤러 노드에 MySQL 설정

sudo apt-get update부터 하고 해야한다.

sudo apt-get install mysql-server  명령어로 MySQL 설치, 설치할 때 패스워드 설정(nomoresecret / 암호1.) 설치가 완료되면 다음 설정 -> 필자는 암호1.으로 썻음

mysql -u root -p  로 로그인

  create user 'stack'@'%' identified by 'nomoresecret';

  grant all privileges on *.* to 'stack'@'%';

  flush privileges;

quit


sudo vi /etc/mysql/my.cnf 안에 내용을 추가해줘야함

  [mysqld]

  net_read_timeout=600

  net_write_timeout=600

  wait_timeout=86400

  interactive_timeout=86400

  max_allowed_packet=1024M

  bind-address=0.0.0.0

  

      [3] DevStack 다운 및 설정

git clone -b stable/rocky https://git.openstack.org/openstack-dev/devstack

cd devstack

cp samples/local.conf ./

vi local.conf 안의 모든 내용을 지우고


  [[local|localrc]]

  HOST_IP=192.168.10.191 [controller IP]

  FLAT_INTERFACE=ens33

  FIXED_RANGE=10.0.0.0/24

  FIXED_NETWORK_SIZE=256

  FLOATING_RANGE=172.24.4.0/24

  MULTI_HOST => 2 [몇개의 호스트를 연동할것인지?]

  LOGFILE=/opt/stack/logs/stack.sh.log

  MYSQL_HOST=127.0.0.1

  MYSQL_USER=stack

  ADMIN_PASSWORD=nomoresecret

  MYSQL_PASSWORD=$ADMIN_PASSWORD

  DATABASE_PASSWORD=$ADMIN_PASSWORD

  RABBIT_PASSWORD=$ADMIN_PASSWORD

  SERVICE_PASSWORD=$ADMIN_PASSWORD


- HOST_IP : 설치하고자 하는 서버의 IP

- FIXED_RANGE : 인스턴스에 할당해 주기 위한 내부 IP 범위

- FLOATING_RANGE : 대체적으로 공인 IP 범위를 할당하며, 그렇지 않을 경우 내부 인트라넷 IP 범위를 할당한다.





      [4] 설치


    (2) 컴퓨트 노드(각각 설정)

      [0] 네트워크 및 호스트네임 설정

네트워크 설정하시면 됩니다.


사용자 생성

sudo passwd root //루트 사용자 패스워드 설정

 su - root //루트로 로그인

useradd -U -G sudo -s /bin/bash -m stack

echo "stack ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

passwd stack

  dkagh1.

  dkagh1.


호스트 네임 설정

  vi /etc/hostname

compute1

  재부팅


      [1] 컨트롤러 노드에서 컴퓨트 노드로 SSH 접속 가능하게 설정(패스워드 없이)

compute1,2에서 -> mkdir ~/.ssh

compute1,2에서  -> cat $HOME/id_rsa.pub >> $HOME/.ssh/authorized_keys

이후에 controller에서 비밀번호없이 접속되면 됩니다.


      [2] DevStack 다운 및 설정

      [3] 설치











컴퓨트 노드 2대

[[local|localrc]]

HOST_IP=192.168.10.20

FLAT_INTERFACE=ens33

FIXED_RANGE=10.0.0.0/24

FIXED_NETWORK_SIZE=256

FLOATING_RANGE=172.24.4.0/24

MULTI_HOST=2

LOGFILE=/opt/stack/logs/stack.sh.log

ADMIN_PASSWORD=nomoresecret

DATABASE_PASSWORD=$ADMIN_PASSWORD

RABBIT_PASSWORD=$ADMIN_PASSWORD

SERVICE_PASSWORD=$ADMIN_PASSWORD

DATABASE_TYPE=mysql

SERVICE_HOST=192.168.10.10

MYSQL_HOST=$SERVICE_HOST

MYSQL_USER=stack

MYSQL_PASSWORD=$ADMIN_PASSWORD

RABBIT_HOST=$SERVICE_HOST

GLANCE_HOSTPORT=$SERVICE_HOST:9292

ENABLED_SERVICES=n-cpu,q-agt,n-api-meta,c-vol,placement-client

NOVA_VNC_ENABLED=True

NOVNCPROXY_URL="http://$SERVICE_HOST:6080/vnc_auto.html"

VNCSERVER_LISTEN=$HOST_IP

VNCSERVER_PROXYCLIENT_ADDRESS=$VNCSERVER_LISTEN




      [3] 설치

./stack.sh




screen -x stack 

데브스택을 통해 구동된 여러 서비스들 상황을 확인 ctrl+p/n, ctrl+a,d


1108블로그사진.zip





공감() 과 댓글은 필자에게 큰 힘이 됩니다.

잠시 1초만 내주시면 안될까요? ~~


로그인 없이도 가능합니당 



댓글