220506

HyeonKi Jo·2022년 5월 6일
0
post-thumbnail

오전

  • 지난 시간 마무리
  • CLI로 작업을 해볼 것이다.

  • br-ex 가 랜카드의 IP를 뺏어온다. 그래서 실제 랜카드는 IP주소 없이 전기적 신호만 오가고, br-ex랜카드가 IP가져 통신을 하게된다..
  • 부팅하자마자 접속이 안된다.
  • VM이 부팅되어도 어느정도 시간이 걸린 후에 접근을 시도해야 할 것이다.

  • Window는 구현이 힘들 것 같다.

OpenStack

  • 원래는 OpenStack서버는 종료되는 것이 아니다.
    종료했기 때문에 인스턴스들이 종료되어있고, 아래 인스턴스 시작으로 시동을 걸어야 한다.
  • Ubuntu 이미지가 올라와있지 않다. 이미지를 올려준다.
  • `bionic-serveer가 Ubuntu 18의 파일이다.
  • IMG파일도 QCOW2(QEMU 에뮬레이터)로 읽는다.
    - 이 QCOW2포멧은 KVM에서 사용하는 포멧이며, 리눅스에서는 거의 대부분 지원하는 호환성을 가지고 있다.
  • 보안성을 위해, 우리는 Key Pairs를 생성하여 SSH방식으로 접근하였다.
  • 또 보안그룹으로 방화벽을 열어 사용할 접근만 허용하는 방법으로 보안그룹을 활용하였다.
  • Floating IP를 사용하여 공인IP주소를 구매하여 Openstackd에서 관리하게 할 수 있다. 전세계 누구던지 들어올 수 있게하고, Public iP : PrivateIP, NAT처럼 1:1로 연결을 이어줄 수 있다.
  • (Swift) 컨테이너는 Object file systemㅇ이다.



OpenStack에서 Wordpress 설치하기

  • sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
    - remi라는 사이트에서 pphp라는 도구를 설치
  • 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
  • cd /var/www/html
  • wget http://192.168.0.49/dashboard/project/containers/container/mz28/wordpress-5.9.3-ko_KR.zip

WEB02(Ubuntu 만들기)








  • 앞에 저 명령어를 붙혀야 ubuntu bash에 명령어가 입력된다.
  • apt update && apt upgrade -y : update는 -y가 필요없다.
  • apt install -y nginx : nginx를 설치한다.
  • 우리가 인스턴스를 시작하기 전에 저 명령어가 자동으로 실행해준다. 도커의 도커파일과 비슷한 것 같다.

WEB01 추가 disk공간 연결하기


  • sudo mkfs -t xfs /dev/vdb
  • sudo mount /deb/vdb /mnt
  • /dev/vdb/에 1Gb가 잘 연결되었다.

WEB02 (Ubuntu) Float IP

  • Floag IP를 부여하였다.

WEB02(Ubuntu) wordpress 설치

L7Switch (HAproxy, CentOS7) 인스턴스 생성

  • 인스턴스 이름을 L7SW로 설정후 인스턴스를 생성한다.

너무 많은 부하로인해 Flavor사양을 더 낮추어 새로 만든다. (nano)

  • m1.nano와 위 그림사양으로 새로 Flavor를 생성하였다.
  • 만약 인스턴스가 생성되었다 실패했다면, 볼륨이 남아있을 수 도 잇다.
  • 용량이 부족해서, 인스턴스 생성이 안된다. 용량을 삭제하고 부하를 최소화해야한다.
  • -> 사용하지 않는 볼륨 삭제
  • 인스턴스 크기를 변경하여 Flavor를 nano로 바꿔준다.
  • 잘 Running 중이다.

볼륨 확장


  • 15Gb로 확장한다.

리소스 이슈...

  • PC에서 3개 이상의 인스턴스를 돌릴 수 없었다...
  • 그래서 WEB01(CentOS7)를 webServer로, Ubuntu를 DB로 사용하겠다.
  • 볼륨도 정리해준다.
  • 3개가 남는것이 맞다.
  • 볼륨을 지워도 실제 HostPC의 공간은 생기지 않는다. 왜냐하면, Openstack의 공간 자체도 동적할당이기 때문에 한번들어나면 줄어들지 않는다. 그러나 대신 Openstack의 가상공간안에서는 정리가 되었을 것이다.

보안그룹 생성

  • SG-DB

초기화

인스턴스 초기화

  • 모두 삭제한다.
  • 여기서 삭제한 인스턴스의 볼륨은 같이 삭제 되지 않는다. 볼륨에 들어가서 수동으로 삭제해줘야 한다.

네트워크 초기화

  • EXTERNAL은 남겨두고, INTERNAL은 삭제한다.
  • 인스턴스를 삭제해도, 라우터가 남아있어 삭제할 수 없다.
  • 라우터 삭제 후, INTERNAL을 삭제하면 삭제가 가능하다.

Open stack 새 프로젝트 생성

프로젝트 생성

사용자 생성

  • 서비스도 사용자처럼 계정이 존재한다.
  • 사용자를 선택한다.
  • 역할을 설정할 수 있지만, Openstack에서는 불안정한 서비스이기 때문에, 권한 제어등의 기능이 없다. 역할을 설정할 필요가 없으므로 항상 member로 진행하게 될 것이다.
  • 다른 웹브라우저로 방금 생성한 계쩡으로 로그인 하니, 관리자가 아니기 떄문에 관리 탭 자체를 볼 수 없는 것을 알 수 있다.

네트워크 설정


  • 네트워크의 이름은 INTERNAL로 설정한다.
  • 네트워크 주소는, 정해진 10.28을 사용한다. 10.28.0.0/20으로 네트워크 주소 범위를 설정한다.

라우터 생성


  • EXTERNAL과 연결된 라우터를 생성하고, 인터페이스에서 인터페이스를 추가하여 INTERNAL네트워크와 연결해준다.

    admin: 이 아닌 사용자 user는 IP를 볼 권한이 없다.ㅏ..

Floating IP 할당

  • 3개 가량 생성한다.

보안그룹 생성


  • 기존 2개의 outbound 규칙에 더해 3개의 in-bount 규칙을 추가해준다.

키페어 생성

>

  • 키페어 생성에 들어가면, 이전 admin프로젝트에서 생성된 키가 있어야 할 것 같지만, 키가 없다.
  • 프로젝트 별로 키를 구별하여 사용된다.

이미지 올리기

  • 이전에 올렸던 이미지가 없다. 만약 다시 올린다면, 이미지를 중복해서 가지고 있어야해서 공간의 낭비이다.

  • CentOS7, Ubuntu 둘다 공용으로 만들어준다.
  • user계쩡에서도 사용되는것을 볼 수 있다.

인스턴스 생성

WEWBSERVER

  • 네트워크, 보안그룹, Floating IP, 키페어, Image도 모두 구성되었다.



  • user는 EXTERNAL에 접근할 권한이 없기 떄문에 자동으로 INTERNAL이 잡혔다.

DBSERVER

  • 기존과 비슷하지만, OS를 Ubuntu로 설정

사용자 보안그룹 설정

  • MYSQL을 추가하였다.
  • SG-WEB을 제거하고 SG-DB를 추가한다.
profile
Talking Potato

0개의 댓글