0504-Openstack

hyejin·2022년 5월 5일
0

서브네팅(복습)

-11000000일 경우 => 64개 사용 가능(네트워크 주소, 브로드캐스트 주소 제외한 62개 사용 가능)


-192.168.0.100/32 => 특정 IP하나를 의미
-/@@는 호스트갯수를 의미

오픈스택
-개념적 아키텍처


*core service(하나라도 없으면 vm이 동작X)
-Nova : vm에게 CPU, 메모리 자원을 공급
-Glance : vm에게 image(os) 공급
-Neutron : vm에게 네트워크 서비스(NAT)를 제공
-Cinder : vm에게 volume(block storage) 제공
-Keystone : 보안 관련(ID, Password로 로그인 서비스 제공)

-Swift : webshare 같은 역할 (파일공유, 백업-> object storage)

optional service
-Horizon : web UI 제공 (덜완벽)
-Heat : IaC (Infrastructure as Code;자동화 도구)

*논리적 아키텍처는 구조와 그림이 계속 바뀌기 때문에 자세히는 안배움.

*오픈스택 서비스 관계도

OpenStack 설치








->메모리:10240MB
->프로세서:4개, 'Virtualize Intel VT~~' 체크
->NewCD/DVD에 .iso 선택
->Network Adapter:bridge

openstack 설치 후 설정





-> 비밀번호 : Kosa0401!


->저장소에 가서 내려받아서 설치해야 하는 버전이라 네트워크가 중요

openstack ip
192.168.0.59/20
192.168.0.1

(ip 꼬이면 큰일남)









오픈스택 이론 설명

5 core service
1) Compute Service(CPU, RAM) : Nova, AWS(EC2)
2) Storage Service(SSD, HDD) : Cinder, AWS(EBS), Swift, AWS(S3)
3) Network Service(G/W, S/W) : Neutron, AWS(VPC)
4) Image Service(OS) : Glance, AWS(AMI)
5) Identity Service(Auth, Keypair) : KeyStone, AWS(IAM)
6) Orchestration Service(IaC) : Heat, AWS(CloudFormation)

-클러스터 : 여러 개의 노드를 묶어두는 것
-싱글노드 : 컴퓨터 한개에 다 넣어버리는 것-> 망가지면 망함....
=> 적어도 3대 이상 (마스터가 죽으면 선출),
-각 노드 안에 vm 존재
-compute node를 관리해주는 control이 존재함 => control까지 클러스터
-인스턴스(instant; 유동적으로 운영, 가볍) = VM
-인스턴스의 라이프 사이클을 관리해주는 것이 하이퍼바이저

-floting IP = 공인IP, AWS(EIP)

설치 이어서

-extnet 기억해둬야함

▶mobaxterm에서

비밀번호 : Kosa0401!

# vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.0.59      //본인ip 잘 확인
NETMASK=255.255.240.0    //240
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4

# vi /etc/selinux/config
//오픈스택을 이용할때는 selinux(보안장치)를 내리고 사용하는 것이 대부분
SELINUX=disabled
# dnf install network-scripts -y
//dnf = yum의 역할(yum보다는 향상)
# systemctl disable --now firewalld    //stop을 하면서 disable도. 
//오픈스택 내 방화벽이 따로 존재하기 때문에 os 방화벽은 disable
# systemctl disable --now NetworkManager
//centos8에는 NetworkManager 이것이 메인
# systemctl enable --now network
//필요에 따라 활성화
# reboot
//설치한 것들 정리
# dnf update -y
# dnf config-manager --enable powertools
//powertools를 이용하기 위해 enable 시켜야함
# dnf install -y centos-release-openstack-yoga
# dnf update -y
# dnf install -y openstack-packstack
//간소화해서 쉽게 설치할 수 있도록 해줌
# packstack --gen-answer-file /root/answers.txt


-> 에러가 아님

# cp answers.txt answers.txt.bak
# vi /root/answers.txt
CONFIG_DEFAULT_PASSWORD=Test1234!
CONFIG_KEYSTONE_ADMIN_PW=Test1234!
CONFIG_CINDER_VOLUMES_SIZE=100G
CONFIG_NTP_SERVERS=kr.pool.ntp.org
CONFIG_HEAT_INSTALL=y
CONFIG_NEUTRON_L2_AGENT=openvswitch               
//실무에서 쓰이는 가상 스위치, L2=Layer2; 스위치허브를 의미하는 layer
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat        
//flat이라는 드라이버를 통해 브릿지의 기능을 제공, 외부의 공유기로부터 ip를 받아올수 있도록 해줌
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan     
//vm의 확장기술
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex   
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens160     
//ens이 160실제 lan카드
CONFIG_PROVISION_DEMO=n
# packstack --answer-file /root/answers.txt


▶mobaxterm에서 root계정으로 접속
-192.168.0.66으로 접속

# cd /var/named/db/
# vi mz33.shop.db
open 에 192.168.0.59 로 변경

▶이더넷 속성 변경

★확인(open.mz24.shop으로 접속)

★스냅샷 생성

오픈스택 네트워크 설정


왼쪽: 프로젝트 이름 / 오른쪽: 사용자 이름

-admin-> 설정-> 시간 변경

※가장 먼저 해야할 작업
1. 외부네트워크 먼저 생성
-관리-> 네트워크-> 네트워크


-> 물리적인 네트워크 명을 반드시 앞에서 설정한 이름이랑 같게 넣어줘야함


  1. 내부 네트워크 생성
    -프로젝트-> 네트워크-> 네트워크




    ->DHCP 사용해서 자동으로 할당되게.

  2. 라우터
    -프로젝트-> 네트워크-> 네트워크 토폴로지






★확인(ping 192.168.9.151)

클라우드 이미지 다운

  1. Flavor만들기
    -관리-> compute-> Flavor

    *Ephemeral Disk : 일시적인 디스크

  2. 이미지 업로드(Glance)
    -프로젝트-> compute-> 이미지


  3. 키페어 생성
    -프로젝트-> compute-> 키 페어


  4. 방화벽 생성
    -프로젝트-> 네트워크-> 보안그룹
    *default가 나오면 사용하지 않겠음.



    ->내보냄 = outbound = egress (오픈스택에서 밖으로 내보냄) => 다 허용
    ->밖에서 들어오는 트래픽은 default가 거부 => 규칙추가를 통해 허용시켜야 함.


    ->들어옴 = inbound = ingress (밖에서 오픈스택으로 들어옴)

    ->SSH 추가


    ->ICMP(ping) 추가

5.Floating IP 생성
-프로젝트-> 네트워크-> Floating IP


  1. 인스턴스 생성
    launch (create)
    start (poweroff -> start)


    -> 필요하면 여러개의 동일한 인스턴스 생성 가능

    ->소스 : 운영체제


    ->external은 이미 floating ip가 있기 때문에 선택X
    네트워크 포트는 next



-floating Ip 연결

★확인(ping 192.168.9.129)

도메인 추가

# cd /var/named/db/
# vi mz23.shop.db
web01 IN A 192.168.9.129 추가

★확인(ping web01.mz24.shop)

▶mobaxterm에서

-> 도메인 이름으로 접속, name:centos, 키:openstack에서 발급받은 키

※1:1 NAT (Floating IP와 Internal IP 연결한다)

  1. 웹서버 설치
$ sudo yum install -y httpd
$ sestatus
$ sudo vi /etc/sysconfig/selinux
$ sudo systemctl enable --now httpd

0개의 댓글