
볼륨에서 볼륨으로 가서 볼륨을 확장한다.

기존의 10기가에서 5기가를 확장한 15기가로 볼륨을 확장한다. 그리고 볼륨확장을 누른다.

볼륨이 확장된것을 확인할 수 있다.

이제 볼륨을 확장한 인스턴스를 시작한다.

Drop Down을 누르면 콘솔이 보이는데 해당 콘솔을 클릭하면
부팅이 진행되는 과정을 직접 확인할 수 있다.

콘솔에서 확인시 완료가 되었는지 확인한다.

해당 읺스턴스의ip
192.168.7.133
를 복사한다.

그리고 mobaxterm으로 들어가 키를 가지고 로그인을 진행한다. (centos는 꼭 소문자로만 해야한다.)

로그인을 진행한 다음
lsblk
df -h
를 입력하면
다음과 같이 나오는데,
디스크의 용량이 설정한것 처럼 15기가로 변경된 사실을 확인할 수 있다.



릴리즈를 클릭한다.

그리고 인스턴스를 삭제한다.

그다음 볼륨으로 다시 돌아가본다.

Drop DOWN을 눌러서 인스턴스 시작을 눌러서
볼륨에 남아있는 데이터를 기반으로 다시 인스턴스를 생성한다.
이전에 webserver와 똑같은 사양의 인스턴스를 그대로 만들 수 있다.

그러면 인스턴스를 새로 생성한다.
과정은 다음과 같다.
이름은 똑같이 webserver로 한다.








유동IP를 연결한다.

그리고 mobaxterm으로 가서
새로운 키를 가지고
다시 연결을 해준다.
인스턴스의 내용은 그대로지만 키만 바꿔서 키를 등록한다음
"OK"를 눌러 로그인을 한다.

로그인이 된다.




스냅샷을 먼저 지운다음 볼륨을 지워야지 연동이 끊겨서 볼륨이 지워진다.





오브젝트스토리지로 가서 컨테이너 "files"를 지운다음 file를 삭제한다.


이제 라우터를 삭제한다.

internal network를 삭제한다.

web-user에서 admin으로 로그인한다.

관리 밑에 네트워크로 간다.

external-network를 삭제한다.

flavor도 삭제한다.

이제 전부 지웠으므로 mobaxterm으로 openstack의 vm의 ip로 로그인을 진행한다.
해당 리눅스 환경에서 CLI 작업이 이루어진다.


1일차에서 콘솔로 openstack 설정을 CLI를 이용하여 설정을 해본다.
source keystonerc_admin
해당 명령어를 입력해 토큰정보로 로그인을 진행한다.

# openstack project create --domain Default --description "cli-project" cli-project
를 입력하려 cli-project라는 이름의 Project를 생성한다.
생성이 되면 테이블이 나온다.

openstack project list
를 입력하여 프로젝트가 제대로 만들어 졌는지 확인을 한다.

openstack user create --domain Default --project cli-project --password-prompt cli-user
를 입력하여 cil-user라는 이름의 user를 생성한다.

openstack user list
를 입력하여 프로젝트가 제대로 만들어 졌는지 확인을 한다.

멤버를 추가한다.

openstack flavor create --id 6 --vcpus 1 --ram 1024 --disk 10 m1.micro
를 입력하여 id가 6이고 cpu가 1개이고 1024 mb의 ram과 디스크가 10기가인 flavor를 생성한다.

openstack network create --project cli-project --provider-network-type flat \
--provider-physical-network extnet --external External-Network
를 입력하여 외부 네트워크를 생성한다.

openstack network list
를 입력하여 네트워크가 제대로 생성되었는지 확인한다.

openstack subnet create --network External-Network --project admin --subnet-range 192.168.0.0/20 --allocation-pool start=192.168.7.129,end=192.168.7.254 --gateway 192.168.0.1 --no-dhcp External-Subnet
를 입력하여 서브넷을 생성한다.

네트워크가 제대로 생성되었는지
# openstack subnet list
를 입력하여 확인한다.
vi keystonerc_cli-user
를 입력하여 토큰을 생성한다.

해당 내용을 입력 후 저장하고 나온다.
unset OS_SERVICE_TOKEN
export OS_USERNAME=cli-user
export OS_PASSWORD='Test1234!'
export OS_REGION_NAME=RegionOne
export OS_AUTH_URL=http://192.168.0.141:5000/v3
export PS1='[\u@\h \W(keystone_cli-user)]\$ '
export OS_PROJECT_NAME=cli-project
export OS_USER_DOMAIN_NAME=Default
export OS_PROJECT_DOMAIN_NAME=Default
export OS_IDENTITY_API_VERSION=3
패스워드를 내가 설정한 패스워드로 바꾸고
ip를 내 vm의 ip로 변경한다.

그다음 exit를 눌러서 해당 토큰에서 나온다.
나온다음 새로만든 토큰정보로 로그인을 한다.


vi /etc/neutron/policy.yaml
를 입력해서 내부 네트워크를 정의하는 파일로 들어간다.

해당 내용을 입력한다음 저장한다.
"create_network:provider:network_type": "role:admin or project_id:%(project_id)s"
"create_floatingip:floating_ip_address": "role:admin or project_id:%(project_id)s"

해당 명령어를 순차적으로 입력하여 내부 네트워크 설정을 완료한다.
projectID=$(openstack project list | grep cli-project | awk '{print $2}')

openstack network create --project $projectID --provider-network-type vxlan Internal-Network

openstack subnet create --network Internal-Network --subnet-range 10.20.0.0/20 --gateway 10.20.0.1 --dhcp --dns-nameserver 192.168.0.66 --dns-nameserver 8.8.8.8 Internal-Subnet

openstack router create Router
를 입력하여 라우터를 생성한다.

openstack router set --external-gateway External-Network Router

openstack router add subnet Router Internal-Subnet

openstack subnet list
를 입력하여 서브넷이 제대로 생성되었는지 확인한다.

openstack security group create SG-WEB
를 입력하여 SG-WEB이라는 보안그룹을 만든다.

보안그룹이 접근을 허용할 네트워크들을 추가하려고한다.
추가하기 위한 명령어를 다음과 같이 입력한다.
# openstack security group rule create --protocol icmp --ingress SG-WEB #ALL icmp

# openstack security group rule create --protocol tcp --dst-port 22:22 SG-WEB # ssh 허용
를 입력하여 보안그룹에서 ssh를 허용한다.

# openstack security group rule create --protocol tcp --dst-port 80:80 SG-WEB # http 허용
를 입력하여 보안그룹에서 http를 허용한다.

openstack security group create SG-DB
를 입력하여 SG-DB라는 보안그룹을 만든다.

openstack security group rule create --protocol tcp --dst-port 22 SG-DB
를 입력하여 SG-DB 보안그룹에서 ssh를 허용한다.

openstack security group rule create --protocol tcp --dst-port 3306 SG-DB
를 입력하여 SG-DB 보안그룹에서 MYSQL을 허용한다.

openstack keypair create --public-key ~/.ssh/id_rsa.pub mz-key
를 입력하여 키페어를 생성한다.

현재 사용하고있는 192.168.0.141의 루트 경로에 사용하려고 하는 GenericCloud,bionic 이미지를 가져온다.

GenericCloud,bionic 이미지를 가져온다.

ls
를 입력했을 때 파일이 root경로에 있는것을 확인할 수 있다.

openstack image create --file CentOS-7-x86_64-GenericCloud-2111.qcow2 --disk-format qcow2 --container-format bare CentOS7
를 입력해서 해당 이미지를 설치한다
openstack image create --file bionic-server-cloudimg-amd64.img --disk-format qcow2 --container-format bare Ubuntu18

openstack floating ip create External-Network
를 입력하여 floating ip를 만듭니다.

openstack floating ip list
를 입력하여 만든 ip를 조회한다.

해당 ip 범위 내에서 아무런 ip를 선택하여 사용한다. 144를 사용한다.

openstack floating ip create --floating-ip-address 192.168.7.144 External-Network
를 입력하여 해당 ip로 floating ip를 만들어준다.
openstack floating ip list
를 입력해서 다시 확인한다.

openstack container create files
를 입력하여 컨테이너를 생성한다.

openstack container list
를 입력하여 확인한다.

웹 오픈스택으로 들어가서 만든 cli-user로 로그인을 진행한다.

컨테이너에 들어가서 만든 files에 워드프레스 파일을 넣는다.

파일을 만든다음 public access를 누르고 그 다음 생기는 Link를 누른다.

링크를 눌러 나오는 창을 보고 워드프레스의 주소를 가져온다.
워드프레스의 주소는 다음과 같다.
http://192.168.0.141:8080/v1/AUTH_0aae4bae406e4e52b3e85767a9a71d2a/files/wordpress-4.8.2-ko_KR.zip

vi httpd.file을 입력한다음
다음과 같이 입력을 한다.
#!/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_0aae4bae406e4e52b3e85767a9a71d2a/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 /var/www/*
systemctl enable --now httpd

openstack server create --flavor m1.micro --image CentOS7 --security-group SG-WEB --network Internal-Network --boot-from-volume 10 --key-name cli-key --user-data httpd.file WEBSERVER
를 입력하여 웹서버를 만든다.

openstack server list
를 입력하여 서버가 제대로 만들어 졌는지 확인한다.

openstack server add floating ip WEBSERVER 192.168.7.144
를 입력하여 웹서버에 해당 floating ip를 할당해준다.

ip가 할당이 되었으면 웹서버로 ssh를 사용해서 접근을 하기 위해서
ssh -i .ssh/id_rsa centos@192.168.7.144
를 이용해서 웹서버에 접근한다.

192.168.7.144를 웹페이지에 입력하면 워드프레스가 뜬다.
192.168.7.144를 주소로 가지는 웹서버가 생성된 것 이다.

openstack volume create --size 8 WEB01-ADD
을 입력하여 볼륨을 생성한다.

openstack volume list
openstack server list
을 입력하여 볼륨이 생성된것을 확인할 수 있다.
그리고 서버를 확인한다.

openstack server add volume WEBSERVER WEB01-ADD
를 입력하여 방금 만든 볼륨을 웹서버(WEB01)에 연결을 한다.

그리고 다시 웹서버로 원격접속을 한다.
ssh -i .ssh/id_rsa centos@192.168.7.144

lsblk와 df -h 명령어로
내부에 있는 볼륨과 디스크 공간을 확인한다.

sudo mkfs -t ext4 /dev/vdb
를 입력하여
한다

sudo mount /dev/vdb /mnt
를 입력하여 CentOS에서 연결한 볼륨을 마운트한다.
마운트를 진행한 다음 df -h로 확인한다.

CentOS에서 나온다

그리고
openstack server create --flavor m1.micro --image Ubuntu18 --security-group SG-DB --network Internal-Network --boot-from-volume 10 --key-name mz-key DBSERVER
를 입력하여 SG-DB라는 이름의 DB서버를 만든다.

scp -i .ssh/id_rsa centos@192.168.7.144:/home/centos
를 입력하여 CentOS로 키를 전송한다.

ssh -i .ssh/id_rsa centos@192.168.7.144
를 입력하여 CentOS로 접속한다.

접속한 다음
ssh -i id_rsa ubuntu@10.20.0.84
를 입력하여 우분투로 접속한다.

우분투로 접속한 다음
sudo apt-get update -y
를 입력한다.

그리고
sudo apt-get install -y mariadb-server
를 입력하여 마리아 db를 설치한다.

sudo mysql_secure_installation
MYsql의 설정을 시작한다.
모두 yes로 설정한다.

sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
를 입력해서 마리아 db conf파일을 수정한다.
#bind-address = 127.0.0.1
해당부분을 주석처리해준다.


sudo systemctl restart mysql
를 입력하여 재시작을 해준다.

sudo mysql -u root -p
를 입력해서 mysql에 로그인한다.

다음 명령어를 입력하여 워드프레스에서 사용할 설정들을 추가한다.
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';

설정이 완료 되었으면 quit를 입력한다.

ping 10.20.0.84 으로 핑이 가는지 확인한다.

그 후 WEBSERVER의 ip 인
192.168.7.144
를 들어가서 워드프레스를 설정한다.

다시 192.168.7.144를 들어가면 다음과 같이 나온다.

이제 제목이랑 다른 설정들을 해주면 완료가 된다.
다음과 같이 설정 후 워드프레스 설치하기를 누른다.


이제 로그인을 해준다.

워드프레스가 완료되었다.
