0506-Openstack

hyejin·2022년 5월 6일
0

복습


-> br-ex(가상 LAN카드)가 실제 LAN카드가 가지고있던 IP를 뺏어옴
-> 전기적인 신호만 오가도록 설정됨
-> 관리형 IP


<네트워크 토폴로지>

openstack 망도


-> public = external
-> private = internal

도메인 서버 = 192.168.0.66
비밀번호 = kosa0401

인스턴스 생성


1 - launch; 인스턴스 생성
2 - start; 인스턴스 시작 -----> shut down 되어있는 인스턴스 시작

1. Ubuntu 이미지 올리기

  • 프로젝트-> compute(=Nova)-> 이미지(=Glance)


    ->bionic server = ubuntu18
    ->포맷 = qcow2(img확장자는 거의 대부분)

2. 키페어

  • 프로젝트-> compute-> 키 페어

    ※private key, 프리덴셜? 파일은 공공의 위치에 올리면 큰일 -> 로컬로 공유

2. 보안그룹 만들기 (필수로 만들고 인스턴스 들어가야함)

  • 프로젝트-> 네트워크-> 보안그룹


    ※ICMP를 삭제하면 ping이 나가지 않음

3. Floating IP

  • 프로젝트-> 네트워크-> Floating IP

    -공인ip를 floating ip로 사용하기 위해 설정, 매핑을 시키면 공인ip로 내가 만든 인스턴스에 접근 가능(내 웹서버에 전세계 어디서든 누구든지 접근 가능)

4. 컨테이너

  • 오브젝트 스토리지-> 컨테이너


    -'공용되지 않음' 선택

    ->폴더생성



배포시
-mz24 클릭 후 'Public Access' 체크박스 선택 후 Link 클릭


-URL뒤에 /images/two-rabbit.jpg 추가 후 접속
http://192.168.0.59:8080/v1/AUTH_4c7a272c77e048dc9bfe47dd91d556f4/mz24/images/two-rabbit.jpg

<<
mobaxterm에서 다운받을 시

$ wget http://192.168.0.59:8080/v1/AUTH_4c7a272c77e048dc9bfe47dd91d556f4/mz24/images/two-rabbit.jpg

-wget 뒤에 url 붙이기

-컨테이너 root에 index.html 업로드

(이미지와 연동되어 페이지 열림)
-URL뒤에 /index.html 추가 후 접속
http://192.168.0.59:8080/v1/AUTH_4c7a272c77e048dc9bfe47dd91d556f4/mz24/index.html

->간단한 홈페이지 꾸미기 가능

▶mobaxterm에서
$ wget http://192.168.0.59:8080/v1/AUTH_4c7a272c77e048dc9bfe47dd91d556f4/mz24/wordpress-5.9.3-ko_KR.zip

====================================================================

centos

1.centos에 워드프레스 설치

▶mobaxterm에서

$ sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
$ sudo yum -y install epel-release yum-utils   
//저장소 사용을 위해 설치
$ sudo yum-config-manager --enable remi-php74
$ sudo yum install -y httpd php php-mysql php-gd php-mbstring wget unzip
$ wget http://192.168.0.59:8080/v1/AUTH_4c7a272c77e048dc9bfe47dd91d556f4/mz24/wordpress-5.9.3-ko_KR.zip
$ cd /var/www/html
$ ls /home/centos/
two-rabbit.jpg  wordpress-5.9.3-ko_KR.zip
$ sudo unzip /home/centos/wordpress-5.9.3-ko_KR.zip
$ sudo mv wordpress/* .

$ sudo chown -R apache:apache /var/www/*
$ sudo systemctl restart httpd
$ sudo php -v
PHP 7.4.29 (cli) (built: Apr 12 2022 10:55:38) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

ubuntu

2. Ubuntu에 워드프레스 설치

-프로젝트-> compute-> 인스턴스



->볼륨크기:10G, 이미지:ubuntu

->m1.micro 선택

->반드시 INTERNAL 선택
->네트워크 포트에서는 그냥 next

->SG-WEB을 올리고, default는 내리기


->사용자 정의 스크립트 = shell script
->명령어를 미리 정의하면 눈에 보이지 않지만 설치해줌
*규칙

  • #!/bin/bash (bash스크립트를 실행하기 위해 필수)
  • sudo를 붙일 필요 X -> root계정으로 설치하기 때문에.
#!/bin/bash
apt update
apt install -y nginx
  1. 볼륨 추가
    -프로젝트-> 볼륨-> 볼륨

    ~a로 끝나는게 루트볼륨
    -> 볼륨 생성


    -> status:In-use면 이미 사용중

*web01에 보조 스토리지 붙이기

-> 볼륨 연결관리 선택

->web01선택

※attach <-> detach

*활용하기 위해 mount 해줘야함
▶mobaxterm에서 centos탭

$ lsblk

$ df -h
$ sudo mkfs -t ext4 /dev/vdb    //xfs는 centos에서 적절


->block사이별로 데이터를 저장 => block storage

$ sudo mount /dev/vdb /mnt/        //mount전용 폴더인 mnt존재
$ df -h

$ sudo vi /mnt/test.txt
HELLO
$ sudo cp wordpress-5.9.3-ko_KR.zip /mnt/
$ ls /mnt/
lost+found  test.txt  wordpress-5.9.3-ko_KR.zip

▶openstack horizon으로
-프로젝트-> compute-> 인스턴스
1. Floating IP 연결

->유동 IP 연결

-> 가장 빠른 숫자 선택(별의미X)

▶▶mobaxterm 192.168.0.66에서

# vi mz24.shop.db
web02   IN    A     192.168.9.147   //추가

☆확인(ping web02.mz24.shop)

(win10-web02.mz24.shop)

▶mobaxterm에서 접속

-> host: web02.mz24.shop, 이름: ubuntu, 키: mz-open-key.pem

*볼륨 분리 후 web02에다가 연결
=> attach > mount > umount > detach (이 순서 잘지켜야함)

$ cd ~
$ sudo umount /mnt
$ df -h


->마운트 끊김

▶openstack horizon으로
-프로젝트-> compute-> 볼륨-> 볼륨
-볼륨연결관리로 이동


-볼륨 연결 해제

-> Attached To 비어있음

*web02에 연결
-볼륨연결관리로 이동

*루트볼륨 용량 늘리기
-프로젝트-> 볼륨-> 볼륨
-web01 10G-> 15G

->볼륨확장 선택

->자원의 양을 수직적 확장 = scale up <-> 수직적 축소 = scale down

-> 실제로 바뀌기까지는 시간이 좀 걸림

☆확인(mobaxterm에서 web01 접속)

$ lsblk

▶mobaxterm에서 ubuntu 접속

$ lsblk

$ sudo mount /dev/vdb /mnt
$ df -h


☆확인

ubuntu에 워드프레스 설치2
▶mobaxterm에서 ubuntu 접속

$ sudo apt install -y php7.2 php7.2-mysql php7.2-mbstring php7.2-gd php7.2-fpm wget unzip
$ sudo mkdir -p /var/www/html/wordpress/public_html
$ cd /etc/nginx/sites-available
$ sudo vi wordpress.conf
server {
            listen 80;
            root /var/www/html/wordpress/public_html;
            index index.php index.html;
            server_name www.mz24.shop;

	    access_log /var/log/nginx/SUBDOMAIN.access.log;
    	    error_log /var/log/nginx/SUBDOMAIN.error.log;

            location / {
                         try_files $uri $uri/ =404;
            }

            location ~ \.php$ {
                         include snippets/fastcgi-php.conf;
                         fastcgi_pass unix:/run/php/php7.2-fpm.sock;
            }
            
            location ~ /\.ht {
                         deny all;
            }

            location = /favicon.ico {
                         log_not_found off;
                         access_log off;
            }

            location = /robots.txt {
                         allow all;
                         log_not_found off;
                         access_log off;
           }
       
            location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
                         expires max;
                         log_not_found off;
           }
}
$ sudo nginx -t

$ cd /etc/nginx/sites-enabled
$ sudo ln -s ../sites-available/wordpress.conf .
$ sudo systemctl reload nginx
$ cd /var/www/html/wordpress/public_html
$ sudo unzip /mnt/wordpress-5.9.3-ko_KR.zip
$ ls
wordpress //폴더확인
$ sudo mv wordpress/* .
$ sudo chown -R www-data:www-data *
$ sudo chmod -R 755 *

DB설치

▶openstack horizon으로
-프로젝트-> 네트워크-> 보안 그룹



-> 규칙 추가

->MySQL 추가

->SSH 추가

->ICMP추가

2. 인스턴스 시작 (쓰지말자,,,,)






*안될경우
1. Flavor 생성
-관리-> compute-> Flavor

  1. 볼륨 삭제
    -프로젝트-> 볼륨-> 볼륨

  2. 인스턴스 삭제
    -프로젝트-> compute-> 인스턴스

  3. web02 크기 변경


~~5. 볼륨확장 (보류) ~~ (시원찮다....)
-프로젝트-> 볼륨-> 볼륨

-> 볼륨 확장 선택

->15G로 확장시도

WEB01을 워드프레스로

-프로젝트-> compute-> 인스턴스

-> web01을 wordpress로 이름변경

============================================================================================================================================
다시시작

▶mobaxterm으로 openstack 접속

▶openstack horizon으로 접속
-프로젝트-> compute-> 인스턴스


-> 이름변경 (DATABASE, WORDPRESS)


->database 포트보안 그룹 편집 (SG-DB)

1. 인스턴스 시작

-> 두개 다 시작

*database 인스턴스 시작 후 콘솔 접속

0개의 댓글