2022. 5. 5. 20:05ㆍCloud/OpenStack
OpenStack 이 얼마나 아름다운 이름인가!
클라우딩 컴퓨팅을 하는 사람들은 한 번 쯤은 들어봤을 것 이다!
특히 AWS와 관련있는 사람은 어떻게 하던 사용해 보았을 것 이다.
IaaS로써 클라우드 컴퓨팅 환경에서 사용되는 무료 오픈소스 클라우드 소프트웨어이다. DB Center를 통해서 스토리지(저장소)나 네트워크 자원 등의 하드웨어 자원을 제어하는 기능을 가지고 있다. RESTful API방식을 통해서 오픈스텍을 관리할 수 있다. 보통 6개월의 릴리즈 기간을 가지고 있으며 알파벳 순서대로 업데이트 명을 생성하고 있다. 약간의 하드코딩과 유사하기에 IP가 꼬인다면 타인과 공유하기가 굉장히 힘들어지는 단점이 있다.
IaaS(Infrastructure as a Service)
==> 통합계발환경, 스토리지, 네트워크 등의 컴퓨팅 자원을 사용자에게 제공하는 클라우드 모델을 의미한다. 소프트웨어 배포, 실행을 할 수 있으며, 운영체제, 에플리케이션 등 도 사용할 수 있다.
RESTful API
==> http를 통해 데이터에 대한 CRUD를 할 수 있는 API를 의미한다.
핵심 서비스로는 6개의 코어 서비스(Glance 하위 개념으로 swift)가 있다.
CINDER
==> 블록 스토리지 서비스를 지원해 준다. AWS EBS에서 이 기능을 사용할수있다.
GLANCE
==> OS와 관련된 이미지 서비스를 지원해 준다. AWS AMI에서 이 기능을 사용한다.
SWIFT
==> 웹 쉐어와 같다. 파일공유, 오브젝트 스토리지 등을 지원한다. AWS S3에서 이 기능을 지원한다.
KEYSTONE
==> 인증 서비스를 지원해 준다. AUTH와 Keypair를 사용할 수 있다. AWS IAM에서 이 기능을 지원한다.
NEUTRON
==> 네트워킹 지원을 서비스해준다. AWS VPC에서 이 기능을 사용한다.
가상 네트워크 및 가상 라우터를 생성하며, floationg IP(AWS EIP와 유사, 공인 IP)기능을 통해 인터넷 공급자 ip를 설정할 수 있다.
NOVA
==> CPU, RAM 등의 컴퓨터 자원을 지원해준다. AWS EC2에서 이 기능을 사용한다.
클러스터 노드 컴퓨터에 설치되며, 하이퍼바이저(KVM)를 통해 vm을 관리한다. 인스턴트의 추상화 수준을 관리한다.
Heat ==> IaC 기능을 사용할 수 있다. AWS에서는 CloudFormation에서 이 기능을 사용한다.
사용하면 좋은 서비스
horizon ==> WEB UI를 지원해준다.
Heat ==> IaC와 같은 자동화 도구이다.
VMware를 바탕으로 Centos8에서 설치해 보도록 한다.
==> Centos8의 ISO는 아래에서 설치하도록 하자.
https://mirror.kakao.com/centos/8-stream/
CentOS Mirror
mirror.kakao.com
==> VMware를 설치하는 방법은 아래에서 보자.
https://chicode.tistory.com/40
VMware를 활용하여 Linux설치하기 part.1
모든것이 윈도우를 기준으로 맞춰져 있는 대한민국의 경우 일반적인 사람들은 컴퓨터 1대당 1개의 운영체제(window)를 운용한다. 하지만 Window 사의 운영체제를 사용하지 않는 대표적인 기업 APPLE
chicode.tistory.com
최소 설정은 아래와 같다
Name : OpenStack
OS : Centos8
HDD : 128GB
==> Single 가상화 사용
RAM : 10GBCPU : 4 Core
==> 중첩된 가상화 사용(체크 Virtualize inter VT-x/EPT or AMD-V/RVI)
NetWork : Bridged
======Centos8 내부 설정 =====
기본언어 : 영어
root Password : 개인이 원하는 것을 넣으면 됨.(영문 대, 소문자, 숫자, 특수문자 추가)
Network & Host : ethernet(ens160) on
==> ip가 할당될 것이다. 192.168.0.47/20이 나왔다.
intstalltion destination : /home을 지우고 / 에 용량을 부여한다.
software selection : minimal install
설치 명령어
# vi /etc/sysconfig/network-scripts/ifcfg-ens160
TYPE=Ethernet
BOOTPROTO=none
NAME=ens160
DEVICE=ens160
ONBOOT=yes
IPADDR=192.168.0.47
NETMASK=255.255.242.0
GATEWAY=192.168.0.1
DNS1=8.8.8.8
DNS2=8.8.4.4
==> G/W와 IP는 ip route 라는 명령어를 통해서 확인할 수 있다.
# vi /etc/selinux/config
SELINUX=disabled
==> 실습이기에 임시로 보안을 내려주고 실행한다.
# dnf install network-scripts -y
==> yum에서 dnf로 변환되었다. network-scripts를 다운받는 과정이다.
# systemctl disable firewalld
# systemctl disable NetworkManager
==> centos8의 자체 방화벽을 사용할 것이기에 방화벽과 nmcli을 사용하지 않을 예정이기에 networkmanager를 종료시킨다.
# systemctl enable --now network
==> 디폴트값인 networkmanager를 종료했으니 network를 실행시킨다.
# systemctl start network
# reboot
# dnf update -y
# dnf config-manager --enable powertools
==>반드시 powertools를 사용해야 yoga 를 다운받고 사용할 수 있다.
# dnf install -y centos-release-openstack-yoga
# dnf update -y
# dnf install -y openstack-packstack
==> yoga와 관련된 openstack packstack를 설치한다.
# packstack --gen-answer-file /root/answers.txt
packstack 명령어를 통해서 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=128G
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
==>설치를 원하는 서비스는 Y, 혹은 적당한 명령어(password, openvswitch와 같은), 거부할 서비스는 n를 입력
********************
CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex
CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens160
이 부분은 특히 중요한데, 네트워크 설정을 할 때 만질 부분이다. 오탈자가 나게되면 아예 서비스를 이용 못 하기에 잘 확인하도록 하자.
********************
# packstack --answer-file /root/answers.txt
위의 내용을 전부 수행하고 난 후 크롬으로 접근을 하면 다음과 같은 화면이 나타날 것이다. 오픈스텍을 훌륭히 구축했다고 볼 수 있다. 계정명은 admin, password 는 위에서 정의한 Test1234!이다.
'Cloud > OpenStack' 카테고리의 다른 글
openstack 컨테이너 활용하기 (0) | 2022.05.10 |
---|---|
openstack instance setting (0) | 2022.05.05 |
openstack network setting (0) | 2022.05.05 |