#20230404(Haproxy, Openstack)

eeapbh·2023년 4월 4일
0

MZC

목록 보기
20/61

mirror.kakao.com


8-stream -> isos -> x86 64 -> CentOs-Stream-8-x86_64-latest-boot.iso 다운

  • 우리가 다운 받을 때마다 통신에 대한 비용이 나오는데 카카오가 KT, SKT, LGU+에 비용을 청구함

NGW

vi /etc/haproxy/haproxy.cfg

ggdG


global
    daemon

defaults
    mode               http

frontend  http-in
    bind *:80
    acl firefox hdr_sub(User-Agent) Firefox
    acl chrome hdr_sub(User-Agent) Chrome
    default_backend    backend_servers
    use_backend bk_firefox if firefox
    use_backend bk_chrome if chrome

backend backend_servers
    balance            roundrobin
#    cookie  SVID insert indirect nocache maxlife 10s
    server             web01 web01.bonghyeon.shop:80 cookie w1 check
    server             web02 web02.bonghyeon.shop:80 cookie w2 check
    server             web03 web03.bonghyeon.shop:80 cookie w3 check

backend bk_firefox
    server             web01 web01.bonghyeon.shop:80
backend bk_chrome
    server             web02 web02.bonghyeon.shop:80

firewall-cmd --list-all
firewall-cmd --list-all --zone=external
firewall-cmd --permanent --add-service=http
yum install -y completion
firewall-cmd --reload
firewall-cmd --permanent --remove-service=http
firewall-cmd --permanent --add-service=http --zone=external
firewall-cmd --reload

external로 설정해줘야한다.

크롬 -> web02

firefox -> web01

safari -> web01, web02, web03

  • 번갈아가면서 뜸 HAproxy

ESXi

  • 순서대로 끄기

  • 가상시스템 - NGW 우클릭 - 스냅샷 관리

  • 전에 스냅샷 선택하고 -> 체크박스 체크하지말고 스냅샷 삭제

  • 현재 위치에 스냅샷 생성

web01, web02, web03, ns

  • 각각 스냅샷 생성

NGW, web01, web02, web03, ns

  • D드라이브에 esxi_bak 폴더만듬
  • 각각 우클릭하고 내보내기 함


다하고 호스트 종료

ESXi(VMware Workstation Pro) - provisioning; 가상화 시스템 자원설정

CPU : 6C(8C-2C(host)) - 중첩된 가상화 (nested virtualization)
RAM : 10GB(16GB-6GB(host)) - 1024MB
SSD : 128GB(동적할당)
NET : Bridge(public),vSwitch(private; 10.18.0.0/24); 10.18.0.0 ~ 10.18.0.255
IMG : VMware ESXi.iso

Openstack(Oracle Virtualbox) - provisioning

CPU : 6C(8C-2C(host)) - 중첩된 가상화 (nested virtualization)
RAM : 10GB(16GB-6GB(host)) - 1024MB
SSD : 128GB(동적할당)
NET : Bridge(public),vSwitch(private; 10.18.1.0/24); 10.18.1.0/16
IMG : CentOS-Stream-8.iso

ip 3마디 = 네트워크
다르면 -> 라우터 라우팅 테이블로 통신?? 뭔소리노

VM Virtualbox

  • default 경로 여기임

  • 무료라 많이 이용함

  • virtualbox에서 오픈스택 해보자

    OpenStack이란 풀링된 가상 리소스를 사용하여 프라이빗 및 퍼블릭 클라우드를 구축하고 관리하는 오픈소스 플랫폼를 뜻합니다

  • 새로만들기

CentOs7 없어서 비슷한 Red Hat 으로한다??? 머라한지 제대로못들음

-> 하드디스크 - hdd

  • 플로피 안쓰니까 뺌

  • CPU 6개로 해봄 일단 잘못되면 낮추면됨

  • 네스티드 = 중첩된 가상화 (지금 vm 위에 또 vm )

    • 오픈스택을올릴건데 그위에 또 vm 올릴거니까 like esxi vmware로 올리고 그위에 vm올렸듯

  • 디스크 파일선택 ㄱㄱ


아까 받은 오픈스택 iso 올림

  • 브리지 (랜카드 하나만잇음됨)

  • usb도 끔 최대한 가볍게

  • 랜카드 키고 done

  • custome으로 바꾸고 done

  • /home 누르고 아래 -버튼 누름

  • swap 10gib 로 바꾸고

  • / 는 걍 200 때려버리면 지금 남은거 47+원래꺼 70 더해져서 117gib로 세팅됨

  • Accept changes

  • root password

    -> Kosa0220!

-Time & Date -> aisia / seoul

  • software selection
    테스트 환경을 만들때는 GUI가 필요한 환경이 아니면 Minimal Install ㄱㄱ. Minimal로 설치해야 이 제품이 설치될때 어떤 패키지를 필요로 하는지 알아차리기 쉬우며, 설치시간도 줄어든다. 물론 GUI가 필요하면, Server with GUI를 선택

  • begin installation

Openstack

  • IaaS 형태의 클라우드 컴퓨팅 오픈 소스 프로젝트
  • 2012년 창설된 비영리 단체인 OpenStack Foundation에서 유지, 보수하고 있으며 아파치 라이선스 하에 배포된다.
  • AMD, 인텔, 캐노니컬, 수세 리눅스, 레드햇, 시스코 시스템즈, 델, HP, IBM, NEC, VM웨어 야후 등 150개 이상의 회사가 이 프로젝트에 참가하고 있으며, 주로 리눅스 기반으로 운용과 개발이 이루어지고 있다.
  • 프로세싱, 저장곤간, 네트워킹의 가용자원을 제어하느 목적의 여러 개의 하위 프로젝트로 이루어져있고 대시 보드 프로젝트는 다른 하위 프로젝트의 운영제어를 웹 인터페이스를 통해 담당한다.

mobaXterm

dnf update -y

  • Openstack과 가상화

    Openstack은 느리다?
  • 개념적 아키텍처

Openstack core service

  1. compute service (Nova)
    cpu, ram
    마치 AWS EC2
  2. storage service (Cinder)
    SSD, HDD
    마치 AWS EBS
  3. Network service (Neutron)
    public(subnet), private
    마치 AWS vpc
  4. image service (Glance)
    OS, CentOS, ubuntu
    마치 AWS AMI
  5. 인증(로그인), 권한(역할)
  • Cellometer : Monitor, 요금같은거.. 택시 미터기 드립.. 마치 AWS의 cloudwatch
  • Horizon : Dashboard, Provides UI, cli 환경에서는 100프로 컨트롤할수 잇지만 Horizon에서는 80퍼정도 컨트롤할수 있음.. , 사용자가 오픈스택의 구성요소들을 간편하게 사용할 수 잇도록 지원해주는 UI 서비스
  • swift : object storage, 뭔가 저장하는 역할, cinder에서 나오는 디스크 공간을 백업하거나..(스냅샷), Glance에 붙어가지고 이미지를 임시저장하거나..
    • 마치 AWS S3
  • Trove : DBMS
  • Ironic : Openstack 자체를 배포
  • IaC(Infra as Code) : Orchestration 자동화..
  • Heat : yml같은거, 코드로 인프라 자동화, 마치 AWS ECS
  • keyston : 마치 AWS의 IAM

  • 논리적 아키텍처

  • 오픈스택 서비스 관계도

  • Compute - Nova : 조합하는 역할.. 하나의 vm을 만듬 , cpu와 메모리를 프로비저닝함..

  • Block Storage - Cinder : SSD, HDD 스토리지들 관리

  • Image - Glance : OS

  • Networking - public, private

  • Identiv - IP, PW

  • Orchestration - Heat : IAaC

  • Object Storage - swift monitor

  • Telemetry

  • Dashboard - Horizon

mobaXterm - Openstack 설치

cp /etc/sysconfig/network-scripts/ifcfg-enp0s3 /etc/sysconfig/network-scripts/ifcfg-enp0s3.bak

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3

TYPE=Ethernet
BOOTPROTO=none
NAME=enp0s3
DEVICE=enp0s3
ONBOOT=yes
IPADDR=192.168.1.58
NETMASK=255.255.248.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
vi /etc/selinux/config
SELINUX=disabled
dnf install network-scripts -y # 내가 정한 고정 ip 를 적용, centos9버전부터는 이거안함
systemctl disable firewalld # 오픈스택은 자체적으로 보안그룹(SG)가 있어서 firewalld 걍 지워버림
systemctl disable NetworkManager 
systemctl enable --now network

dnf install -y bash-completion
reboot
dnf update -y
dnf config-manager --enable powertools
dnf install -y centos-release-openstack-yoga # yoga 버전 환경 이거하면 update 명령어 됨
dnf update -y
dnf install -y openstack-packstack 
packstack --gen-answer-file /root/answers.txt
vi /root/answers.txt

CONFIG_DEFAULT_PASSWORD=Test1234!
CONFIG_KEYSTONE_ADMIN_PW=Test1234!
CONFIG_CINDER_VOLUMES_SIZE=100G
CONFIG_NTP_SERVERS=0.kr.pool.ntp.org
CONFIG_HEAT_INSTALL=y
CONFIG_NEUTRON_L2_AGENT=openvswitch
CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat
CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan
CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:enp0s3
CONFIG_PROVISION_DEMO=n

지금 가상화 시대에서 openstack도마찬가지고 그안에서 vm이 운용이 된다.
openstack 안에 있는 vm들이 각각 공유기에서 ip를 받아야한다.
enp0s3가 br-ex와 연결되어있고 br-ex가 extnet과 연결되어있다.
결국에 vm 들은 extnet와 연결되어있고 공유기를 통해 제공받는 ip를 vm들한테 제공할수 있다.
Bridge를 사용할수 잇다. 밖에있는 공유기로 부터 ip를 받는다
vm 들은 extnet을 바라본다

packstack --answer-file /root/answers.txt
17:21 ~ ? # 시간체크함으로써 얼마만큼 걸리는지 함보자..

0개의 댓글