Openstack 싱글 노드 설치

박기원·2022년 5월 4일
0

OpenStack

목록 보기
4/6
post-thumbnail

관리 < = > root

프로젝트 < = > Tenant

# vi /etc/sysconfig/network-scripts/ifcfg-ens160

ifcfg-ens160 파일 수정✍

TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.0.54
NETMASK=255.255.240.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4


# dnf install network-scripts -y

# systemctl disable firewalld
- 오픈스택 그룹 내에 있는 방화벽을 사용하기 위함

# systemctl disable NetworkManager

# systemctl enable network
- CentOS8 부터 NetworkManager가 메인이기 때문에 network를 enable 시켜야함

# systemctl start network

# reboot
# dnf update -y
# dnf config-manager --enable powertools
# dnf install -y centos-release-openstack-yoga
# dnf update -y
# dnf install -y openstack-packstack
- openstack 자동화 설치 도구
  • 설치와 관련된 configuration 파일 생성 및 설정
# packstack --gen-answer-file /root/answers.txt
# vi /root/answers.txt
  • /를 통해서 해당 part 찾아서 수정 ✍

    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
    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:ens160
    CONFIG_PROVISION_DEMO=n

  • vxlan = internal
  • flat = external

CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens160
  • vxlan = internal, flat = external

extnet LAN 카드는 VM들이 보기에 유일한 LAN 카드로 인식한다.
extnet 과 br-ex 가 연결되어 있고 br-ex와 ens160 가 연결되어 있다.

  • Openstack 설치
# packstack --answer-file /root/answers.txt

설치되는데 20 ~ 30분 가량 소요

openstack 네트워크 생성

외부 네트워크 설정

관리 - 네트워크 - 네트워크 생성

  • 네트워크

  • 서브넷

  • 서브넷 세부 정보

    Pools 할당 ip정보 중간에 ~과 띄어쓰기를 넣지않고 ,만 넣어서 작성

  • External 네트워크 설정 결과 ✔

내부 네트워크 설정

프로젝트 - 네트워크 - 네트워크 생성

  • 네트워크

  • 서브넷

  • 서브넷 세부 정보

  • Internal 네트워크 설정 결과 ✔

라우터 생성

네트워크 - 라우터 - 라우터 생성

  • 내외부 네트워크 연결
  • 라우터에 내외부 네트워크 연결 확인
  • 네트워크 토폴리지로 라우터로의 연결 확인
  • 확인 후 CMD로 통신 확인

Flavor 생성

관리 - Compute - Flavor

Flavor는 관리자만 생성 가능

Images 생성

프로젝트 - Compute - 이미지

이미지 소스 : CentOS-7-x86_64-GenericCloud-2111.qcow2
포멧 : QCOW2 - QEMU 에뮬레이터 (Emulator)

Key Pairs

프로젝트 - Compute - 키 페어

🟥다운로드된 키 확인 후 분실 유의🟥

보안 그룹

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

default는 사용하지 ❌
default는 해커들에게 1 순위 공격대상

내보냄 = outbound = egress (OpenStack에서 밖으로)
들어옴 = inbound = ingress (밖에서 OpenStack으로)

현재는
안에서 밖으로 나가는 것은 모두 나갈 수 있지만
밖에서 OpenStack으로 들어오는 것은 ALL BLOCK 이기 때문에 규칙을 추가해서 필요한 부분만 열어준다.

규칙 추가

  • HTTP 80 port 열기

  • CIDR : 0.0.0.0/0 (Anywhere 출발지 IP가 어디든 허용)

  • SSH 22 port 열기

  • ALL ICMP

    Internet Control Message Protocol로 ping Test를 하기 위함

Floating IP

프로젝트 - 네트워크 - Floating IP - 프로젝트에 IP할당

  • 5개 할당

인스턴스

프로젝트 - Compute - 인스턴스 - 인스턴스 시작

  • 세부정보 : 인스턴스 이름, 개수 (같은 인스턴스 다수 생성 가능 )

  • 소스 : 볼륨 크기 10GB, CentOS7 할당

  • Flavor : m1.micro

  • 네트워크 : Internal

  • 보안 그룹 : default 내리고 SG-WEB 올리기

  • Key Pair : 이전에 생성한 Key인지 확인

  • 인스턴스 Actions에서 유동 IP 연결

Mobaxterm으로 접속

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

  • Remote host : 도메인 접속
  • Specify username : centos
  • Use Private Key : mz-open-key

0개의 댓글