본문 바로가기
  • 지요미의 IT성장일기
카테고리 없음

OpenStack 2

by 지요미=P 2024. 1. 3.
728x90

but 현재 admin계정이 아니라서 안보임

 

인스터스 시작  -> 생성하는 거!! launch!

 

이름: 식별자 (용도가 무엇인지 적는 거)

 

새로운 볼륨 생성을 '아니오' 선택하면

영구볼륨이 아니라 nova 볼륨이 지워지면 함께 지워지는 임시디스크이다.

=> 결론적으로 '아니오'선택하면 임시디스크 선택하는 고임!!

 

* public에서는 인스턴스삭제시 볼륨삭제가 '예'가 디폴트임

 

디스크 총계 = 기준값

 

 

 

여기서 포트 = IP로 생각한다.

프라이빗 IP는 아직 설정하지 않았기 때문에 PASS~

 

 

 

키 페어를 미리 만들었기 때문에 할당되어 있음!

 

사용자 정의 스크립트 = cloud init (사용자 데이터)

인스턴스가 만들어지는 과정에서 아래 내용이 설치가 되는 기능

#!/bin/bash

yum install -y httpd

systemctl enable --now httpd

echo "<h1>WEBSERVER</h1>" > /var/www/html/index.html

 

파일로 업로드를 할 수도 있고 이렇게 타이핑을 통해서 업로드를 할 수도 있다.

 

-> 핑을 아무리 쳐도 안나감!! 이건 당연함!

 

 

나 최고!!

 

 

 

-> 앞서 만들어둔 3개의 IP중 아무거나 연결해줌!!

 

 

핑 간당~~~

 

 

만약 핑이 안간다면! 보안그룹 설정을 확인해봅시다^^

나의 실수 ^_~

 

 

요기까지 셋팅했다면 잘하는 고임 ㅎ

 

 


 

Get images

https://docs.openstack.org/image-guide/obtain-images.html

 

Get images — Virtual Machine Image Guide documentation

Get images The simplest way to obtain a virtual machine image that works with OpenStack is to download one that someone else has already created. Most of the images contain the cloud-init package to support the SSH key pair and user data injection. Because

docs.openstack.org

-> 다양한 이미지가 있어서 필요한 이미지를 다운로드 받아서 실습할 수 있다.

   나의 경우, CentOS7 images를 다운로드 받았당

 

 

 

 

 

비록 DB서버지만 우분투용으로 작성을 해보기

(기동시키는 명령어가 필요X)

 

#!/bin/bash

apt update

apt install -y apache2

echo "<h1>WEBSERVER_CHU</h1>" > /var/www/html/index.html

 

 

미리 만들어둔 IP 중 하나선택~~~

 

 

PING 열림~~~!

 

웹도 띄우기 위해서 보안그룹에서 HTTP를 허용해 주었습니당~

 

 

 

 

 

 

 

 

 

요기서부터 인스턴스를 새로 만들어서 위의 IP랑 다르다!!

(나 자신 참고~~><)

 

 

ls -> pem키 넣기

# chmod 400 webui-key.pem
# ssh -i webui-key.pem ubuntu@10.241.10.14

 

 

-> Moba에서 접속하고 페이지 duplicate하기 이건 디비서버 하려고~

 

 

현재 이 상태

 

 

 

wordpress 설치하기

$ sudo apt update
$ sudo apt  install mariadb-server nfs-common -y 
$ sudo mysql_secure_installation
$ sudo vi /etc/mysql/mariadb.conf.d/50-server.cnf
#bind-address            = 127.0.0.1

$ sudo systemctl restart mysql

$ sudo mysql -u root -p
CREATE USER 'wpuser'@'%' IDENTIFIED BY 'wppass';
CREATE DATABASE IF NOT EXISTS wordpress;
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'%';
quit

 

 

$ sudo yum install -y httpd php php-mysql php-gd php-mastering wget unzip mysql

 

 

 

Cinder와 Swift 스토리지 관리

OpenStack Cinder은 오픈소스 클라우드 컴퓨팅 플랫폼인 OpenStack의 구성요소 중 하나!

Cinder는 블록 스토리지 서비스를 제공하여 가상 머신 및 다른 컴퓨팅 리소스에 대한 지속적인 블록 수준 스토리지를 관리함
이는 대규모 클라우드 컴퓨팅 환경에서 스토리지 리소스의 동적할당과 관리를 가능하게 한다.

1) 블록 스토리지 관리
다양한 종류의 블록 스토리지 백엔드를 지원하며 이를 통해 사용자는 스토리지 리소스를 동적으로 할당하고 관리할 수 있다.

2) 스냅샷 및 볼륨 복제
스냅샷을 지원하여 특정 시점의 볼륨 상태를 저장하고 이를 사용하여 데이터 복구나 백업을 수행할 수 있다.
또한, 볼륨 복제를 통해 데이터의 안정성과 가용성을 향상시킬 수 있다.



OpenStack Swift은 객체 스토리지 시스템으로, 대규모 데이터를 저장하고 검색할 수 있는 오픈소스 프로젝트!
이 시스템은 대량의 데이터를 안전하게 저장하고 확장 가능한 방식으로 관리할 수 있도록 설계되었다.

1) 객체 스토리지
데이터를 객체로 저장하며 각 객체는 고유한 식별자(URL)를 가지고 있다.

2) 컨테이너
객체의 그룹. 여러 객체를 논리적으로 그룹화하여 저장할 수 있다.

3) 객체
Swift에 저장된 기본 데이터 단위. 각 객체는 메타데이터와 데이터 본문을 포함한다.

 

 

 

볼륨 이름이 가독성이 떨어지니까 이름을 변경해줌!

 

 

 

aws.tar
1.52MB

 

 

 

$ sudo tar -xvf aws.tar -C /var/www/html/

 

 

 

root 볼륨의 공간을 확보하기 위해서 tar파일 옮기기!

(##a: 루트볼륨)

 

 

 

$ sudo mkfs -t ext4 /dev/vdb

 

$ mkdir add
$ ls
$ sudo mount /dev/vdb add
$ df -h

=> aws.tar 파일을 vd"b"에 저장되었기 때문에 root의 용량을 확보하였다!

 

구.런.데!!

이 디스크를 통째로 우분투에 붙이고 싶다?!!

 

먼저 마운트 해제시켜야함!!!

$ sudo umount

 

 

 

 

-> 디비서버로 연결!!

 

모바로 들어가서 확인해보니 보인당~

 

 

컨테이너 = AWS 버킷

 

 

index.html
0.00MB

 

 

 

 

그런데 이걸 누군가에게 공유하고 싶다?!!!

 

 

 

two-rabbits.jpg
0.55MB

 

이 파일을 누군가에서 전달해주고 싶다?!

요롷게 보여짐

 

 

curl http://172.25.0.137:8080/v1/AUTH_51b14706322c41ea8258946bf68fb7c6/files/images/two-rabbites.jpg -o two-rabbites.jpg

 

 

 


 

orchestration : IaC; Infra as Code (heat = AWS Cloudformation)

 

 

heat_template_version: "2018-08-31"
resources:
  Server_web:
     type: "OS::Nova::Server"
     properties:
       security_groups:
          - "1cea18a0-c8ed-4cf3-bfb7-bdd5e2234ac3"
       networks:
          - subnet: "ba2ef3e5-4dbc-415f-b0d3-bf48e54bdb1a"
       name: webserver
       flavor: "m1.micro"
       image: "c68ff6f2-cc9e-4818-b26a-d4433371ac66"
       availability_zone: nova
       key_name: "webui-key"

webserver.yaml.txt
0.00MB

 

 


 

실행하기에 앞서서 자원을 지워보기

1. 인스턴스 삭제

 

2. 볼륨 삭제

하나씩 선택해서 삭제하기

 


1. Stack

 

 

 

모바로도 접속 가능~~~~ 

 


 

dns : domain name service (designate = route53)

 

크롬에서 적용이 안되어서 아래와 같이 Firefox로 실행을 해주었다.

 

Firefox 다운로드

https://www.mozilla.org/ko/firefox/download/thanks/

 

Firefox 최신 버전 다운로드

빠른 페이지 로딩, 작은 메모리 사용 및 다양한 기능을 갖춘 새로운 Firefox가 여기 있습니다.

www.mozilla.org

 

 

heat_template_version: "2018-08-31"
resources:
  Server_web:
     type: "OS::Nova::Server"
     properties:
       security_groups:
          - "1cea18a0-c8ed-4cf3-bfb7-bdd5e2234ac3"
       networks:
          - subnet: "ba2ef3e5-4dbc-415f-b0d3-bf48e54bdb1a"
       name: webserver
       flavor: "m1.micro"
       image: "c68ff6f2-cc9e-4818-b26a-d4433371ac66"
       availability_zone: nova
       key_name: "webui-key"

 

 

 

 

 

템플릿버전 선택해주기

[다운로드] 선택 후 [stack 생성] 선택

 

 

아래와 같이 모바로도 접속이 당근 가능~~

 

chmod 400 webui-key.pem
ssh -i webui-key.pem ubuntu@10.241.10.21

 

 

ssh로 접근 못하게 하려면?!

 

 

 

 

 

 

 

 

보안그룹 ID를 넣어서 한번 해보기 위해서 규칙을 다시 삭제해봄

 

보안그룹을 통으로 묶어서 허용할 수 있다는 거다.

 

 

-> 나중에 ELB, Load Balancing에서 또 다룰 예정!

 

 

[보안그룹]의 이해를 위해 규칙을 다시 삭제!

 

 

 

클라우드의 Centos 기준으로 보았을 때, 자체적인 방화벽이 없다.

그러니 보안그룹이 그런 역할을 해주는 것!

 

 

 

-> [보안그룹]에서 외부통제 뿐만 아니라 내부통제도 되는 것이다.

 

 

일단 http 접근을 확인하기 위해서 모바에서 httpd 설치를 먼저 해줌

 

 

sudo systemctl enable --now httpd

curl 10.241.10.10

 

 

curl을 통해서 접근을 했다면 나는 완전 잘한거임.. 물론 내일 까먹지만 않는다면 ~~~^^

 

728x90