Openstack_1일차(콘솔)

박건희·2022년 5월 23일
post-thumbnail

1. VM 생성

VMware Workstation pro에서
openstack 설치


Customize Hardware에 들어가 사용할 가상머신의 사양을 정해준다.

설치할 VM 스펙

  • CPU : 4 core
  • RAM : 12GB (12288 MB)
  • OS : CentOS8 - Stream.iso
  • NET : Bridge
  • SEC : ?

Openstack VM 최소 사양

CPU : 4 core (시스템 8 core)
RAM : 8 GB (시스템 16GB)

Openstack VM 권장 사양

CPU : 24 core
RAM : 24 GB

CPU 설정

중첩된 가상화를 하기위해 Virtualization engine에서 intel부분을 선택해준다.

이미지파일로 CentOS8 - Stream.iso를 입력한다.

NET는 Bridged로 한다.

디스플레이를 제외한 나머지는 Remove한다
다 설정 후 close를 누른다.
finsh를 눌러 설정을 완료한다.

power on 버튼을 눌러준다.

인스톨을 선택하여 설치를 진행한다.

2. 생성한 VM에서 CentOS8 설치

키보드로 install부분을 선택하게 하여
install을 진행한다.

english로 선택하여 continue를 누른다.

시간대를 아시아-서울로 지정한다.

root 패스워드를 설정한다.

디스크의 저장공간을 파티셔닝한다.

Done을 누르면 창이 나온다.

Click here~ 를 누른다.

여기서 home을 지워서 저장공간을 더 확보한다.

그리고 swap의 메모리를 12GM로 설정한다.

/ 의 Desired Capacity에 초과용량의 저장공간을 입력하여 알아서 최대 용량을 가져올 수 있도록한다.
그 후 Done을 누른다.

Accept를 누른다.

NETWORK를 누른다.

ens160을 ON을 한다음
Done을 누른다.

SOFTWARE SELECTION을 누른다.

Minmal Install을 누른다음 Done을 누른다.

최종적으로 begin installation을 누른다.

설치를 진행

설치가 완료되면 reboot를 누른다.

로그인을 한 다음 "ip a"를 입력하여
ip 주소를 알아낸다.

mobaxterm으로 들어간다음 Session을 누른다.

vm의 ip주소와 username을 root로 한다음 OK를 누른다.

로그인을 하면 다음과 같이 나온다.

이제 VM설정이 완료되어서 openstack 설치가 지금부터 시작된다.

3. CentOS에서 Openstack 노드를 설치

vi /etc/sysconfig/network-scripts/ifcfg-ens160

를 입력한다

다음과 같이 입력한다음 저장한다.

TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.0.141
NETMASK=255.255.240.0
GATEWAY=192.168.0.1
DNS1=192.168.0.66
DNS2=8.8.4.4

그다음

vi /etc/selinux/config

를 입력한다.

SELINUX=disabled

로 SELINUX를 해제한다.

그 후 다음과 같은 명령어들로
openstack의 노드를 설치해준다.


# dnf install network-scripts -y
# systemctl disable firewalld
# systemctl disable NetworkManager
# systemctl enable network
# systemctl start network
# reboot
# dnf update -y
# dnf config-manager --enable powertools
# dnf install -y centos-release-openstack-yoga
# dnf update -y
# dnf install -y openstack-packstack
# packstack --gen-answer-file /root/answers.txt

위의 명령어를 입력하고 ls -al을 눌렀을때 
.ssh파일과 answer.txt파일이 나온다면 
다음과 같이 answer.txt파일을 수정한다.

# vi /root/answers.txt
CONFIG_DEFAULT_PASSWORD=Test1234!
CONFIG_KEYSTONE_ADMIN_PW=Test1234!
CONFIG_CINDER_VOLUMES_SIZE=90G
CONFIG_NTP_SERVERS=0.kr.pool.ntp.org
CONFIG_HEAT_INSTALL=y
CONFIG_CEILOMETER_INSTALL=n
CONFIG_AODH_INSTALL=n
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens160
CONFIG_PROVISION_DEMO=n

txt파일을 전부 수정했다면 다음 명령어로 설정을 저장한다.

packstack --answer-file /root/answers.txt

4. Openstack 설정

내 vm의 ip인

192.168.0.141 

을 웹페이지에 입력하면
openstack 로그인창이 나온다.

admin으로 로그인

1. 프로젝트 생성

프로젝트를 새로 생성한다.

프로젝트 이름은 web-project 라고 한 다음 프로젝트 생성을 누른다.

프로젝트가 생성되었다.

2. 사용자 생성

프로젝트를 사용할 유저를 새로 만든다.
사용자 생성을 누른다.

유저, 즉 사용자 이름은 web-user라고 지정한 다음 암호를 적는다.
유저가 사용할 "최초 프로젝트"는 방금 전에 만든 web-project로 선택한다.

3. 네트워크 생성

프로젝트와 프로젝트 내에 유저가 생성되었으니 이제 프로젝트가 사용할 네트워크를 설정한다.

이름은 External-Network라고 한다. 아래와 같이 설정을 하고 다음을 누른다.

서브넷 또한 아래와 같이 설정을 해준다.

DHCP 사용을 해제하고 pools에 내가 할당받은 ip 범위를 정의해준다.
최종적으로 생성을 눌러 외부에서 사용할 네트워크를 정의한다.

생성된 네트워크

4. Flavor 생성

생성 버튼을 누른다.

아래와 같이 설정한 다음 생성버튼을 누른다.

생성완료

web-user로 로그인

1. 내부에서 사용할 네트워크를 생성

DHCP를 사용하고 네임서버에 사용할 DNS 주소를 적는다

다음과 같이 외부와 내부에서 사용할 네트워크가 정의된 사진을 볼 수 있다.

2. 라우터 생성

외부와 연결되어 있는 External-Network를 선택한 다음 라우터를 생성한다.

다음사진에서 외부 네트워크와 라우터가 연결된 것을 확인할 수 있다.

인터페이스를 클릭

제출 클릭

이렇게 하여 라우터에서 사용하는 네트워크 인터페이스를 internal로 하여서
외부 네트워크를 라우터가 연결됨과 동시에 내부에서도 사용할 수 있게 설정하였다.

외부 네트워크와 내부 네트워크가 라우터를 통해 연결이 되었다.

3. Floating IP를 클릭

프로젝트 IP할당을 클릭

총 3번을 눌러 3개의 ip를 할당해준다.

4. 보안그룹을 클릭

보안그룹 생성을 누르고 보안그룹 생성을 완료한다.

규칙 추가를 누른다.

규칙에서 "ALL ICMP"를 선택후 추가를 누른다.

똑같은 방법으로 SSH와 HTTP를 선택후 추가를 누른다.

또 보안그룹을 누른다음 SG-DB라는 보안그룹을 생성한다.

규칙에서 ALL ICMP 추가를 누른다.

규칙에서 MYSQL 을 추가한다.

규칙에서 SSH를 추가한다.

두개의 보안 그룹에서 필요한 규칙을 추가해봤다.

5. 키페어 설정

컴퓨트에서 키페어를 만든다.
키페어 생성을 누른다.

키페어 이름을 web-key라고 지정한다.
유형은 ssh 유형이라고 지정한다음 키페어생성 버튼을 누른다.

키페어가 다운로드 된다.

5. Openstack에 워드프레스 설치

1. WEBSERVER 만들기

이미지로 들어가서 이미지 생성 버튼을 누른다.

다음과 같이 설정을 하고 이미지 삽입을 하고 생성을 누른다.

우분투 이미지도 삽입하고 생성한다.

오브젝트 스토리지로 가서 컨테이너를 눌러준다.
컨테이너 생성을 누른다.

컨테이너를 다음과같이 설정한 다음 submit을 눌러준다.

파란 색을 누른다음 파일선택을 눌러 워드프레스를 가져온다.

Link를 누른다

주소를 복사한다.

메모장에 다음과 같이 저장한다.

http://192.168.0.141:8080/v1/AUTH_47f3db8e2ae3495ab62cc0cc63860d30/files/wordpress-4.8.2-ko_KR.zip

인스턴스

다음과 같은 순서로 설정한다.

스크립트 내용은 다음과 같다.


#!/bin/bash

setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
cd /home/centos
wget http://192.168.0.141:8080/v1/AUTH_47f3db8e2ae3495ab62cc0cc63860d30/files/wordpress-4.8.2-ko_KR.zip
cd /var/www/html
unzip /home/centos/wordpress-4.8.2-ko_KR.zip
mv ./wordpress/* .
chown -R apache:apache wordpress
systemctl restart httpd
systemctl enable httpd

유동 ip 연결

mobaxterm으로 세션 연결

로그인 성공

2. DBSERVER 만들기

템플릿 생성기로 들어간다.

먼저 템플릿 버전을 가장 최신의 버전으로 바꾼다.
바꾼다음 OS::NOVA를 클릭한다.
그다음 모니터를 드래그하여
해당 화면처럼 Edit 창에 올려 놓는다.
파란색으로 원이 그려진 모니터 아이콘을 두번 누르면 다음과 같은 창이 뜬다.

다음과 같이 창에 입력을 해준다.
해당 창은 인스턴스를 만드는 다른 방법으로 쉽고 빠르게 만들 수 있으며,
Stack 기능을 이용하여 기존에 만든 인스턴스를 저장해서 필요할때마다 사용할 수 있다.


위의 사진들 처럼 저장을 완료 했으면 템플릿 아이콘을 클릭한다.

해당 템플릿을 다운로드 받는다.

다운로드를 받았으면 Stack을 누른다.

다음을 누른다.

스택의 이름과 만든 user의 비밀번호를 입력한다음 실행을 누른다.

실행한 다음 인스턴스가 가진 유동 IP인 http://192.168.7.133/ 를 입력하면
워드프레스가 나온다.

6. Stack을 이용한 빠르고 편한 인스턴스 생성

1. Orchestration에서 Stack을 누르고 "Stack 시작"을 누른다.

2. 템플릿 파일은 방금 DBSERVER의 템플릿에서 가져온 템플릿파일

template-2022-05-23T12_01_25.461Z.yaml.txt

을 선택한다.
선택한다음 다음을 누른다.

  1. 이름을 TEST-STACK이라고 지은다음 내가만든 web-user의 비밀번호를 입력한다음 실행을 누른다.

  1. 다음과 같이 인스턴스 파일이 만들어진다.

7. 스냅샷을 이용하여 인스턴스 키 분실시 대처 방법

1.분실된 인스턴스에서 스냅샷을 한다.


2. 스냅샷을 한 인스턴스가 이미지 란에 저장이 된다.

3. 분실키 대신 사용할 키를 새로 생성한다.

4. 인스턴스 란으로 가서 "인스턴스 시작"을 눌러 새로 인스턴스를 만든다.

5. 다음과 같은 순서로 생성을 진행한다.

  1. 소스 부분에서는 "부팅 소스 선택"을 인스턴스 스냅샷으로 하고 지정한 다음 이미지로 가지고 있는 "web-restore"이미지를 가져온다.

  2. 보안그룹을 "default"대신에 "SG-WEB"으로 가져온다.

  3. 키를 기존에 사용하던 "web-key"가 아니라 새로 만든 "new-key4"를 키로 사용한다

  4. 인스턴스 시작을 눌러 새로 인스턴스를 만들어준다.

  1. 새로 만들어 진것을 확인할 수 있다.

6.유동 IP설정을 한 다음 유동IP로 웹서버에 입력하면 워드프레스가 나온다

profile
hihihi

0개의 댓글