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

OpenStack

by 지요미=P 2024. 1. 2.
728x90
SPEC (Vmware) - Rocky

CPU : 6C
RAM : 12,288MB
SSD : 128GB(동적할당)
NET : NAT
IMG : CentOS7 64bit

 

 

설치

https://mirror.kakao.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2009.iso

 

 

 

 

 

 

 

리아 root 비밀번호 : 1234

-> 나중에 CentOS 필요시 사용하려고 OVA로 내보내기 해줌


 

# setenforce 0
# sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config

 

# cp /etc/sysconfig/network-scripts/ifcfg-ens32  /etc/sysconfig/network-scripts/ifcfg-ens32.bak


# vi /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=none
NAME=ens32
DEVICE=ens32
ONBOOT=yes
IPADDR=172.25.0.137
NETMASK=255.255.255.0
GATEWAY=172.25.0.2
DNS1=8.8.8.8
DNS2=8.8.4.4

# systemctl restart network

 

# ping www.google.com
# yum update -y
# reboot

-> 업데이트를 마치면 꼭 reboot을 하는 습관을 가질 것!

 

 

https://releases.openstack.org/

 

OpenStack Releases: OpenStack Releases

OpenStack is developed and released around 6-month cycles. After the initial release, additional stable point releases will be released in each release series. You can find the detail of the various release series here on their series page. Subscribe to th

releases.openstack.org

 

# yum install -y centos-release-openstack-rocky
# yum update -y
# yum install -y openstack-packstack
# packstack --gen-answer-file /root/answers.txt

 

answers라는 txt파일 생성

 

-> openstack-packstack와 answers파일을 생성했더니 ssh파일이 자동으로 생성된 것이다. (packstack이 만든 고임)

 

# vi /root/answers.txt
sed -i 's/CONFIG_DEFAULT_PASSWORD=.*/CONFIG_DEFAULT_PASSWORD=Test1752!/' /root/answers.txt
sed -i 's/CONFIG_KEYSTONE_ADMIN_PW=.*/CONFIG_KEYSTONE_ADMIN_PW=Test1752!/' /root/answers.txt
sed -i 's/CONFIG_NTP_SERVERS=.*/CONFIG_NTP_SERVERS=0.kr.pool.ntp.org/' /root/answers.txt
sed -i 's/CONFIG_HEAT_INSTALL=.*/CONFIG_HEAT_INSTALL=y/' /root/answers.txt
sed -i 's/CONFIG_SWIFT_INSTALL=.*/CONFIG_SWIFT_INSTALL=y/' /root/answers.txt
sed -i 's/CONFIG_CEILOMETER_INSTALL=.*/CONFIG_CEILOMETER_INSTALL=n/' /root/answers.txt
sed -i 's/CONFIG_AODH_INSTALL=.*/CONFIG_AODH_INSTALL=n/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_L2_AGENT=.*/CONFIG_NEUTRON_L2_AGENT=openvswitch/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=.*/CONFIG_NEUTRON_ML2_TYPE_DRIVERS=vxlan,flat/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=.*/CONFIG_NEUTRON_ML2_TENANT_NETWORK_TYPES=vxlan/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=.*/CONFIG_NEUTRON_ML2_MECHANISM_DRIVERS=openvswitch/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=.*/CONFIG_NEUTRON_OVS_BRIDGE_MAPPINGS=extnet:br-ex/' /root/answers.txt
sed -i 's/CONFIG_NEUTRON_OVS_BRIDGE_IFACES=.*/CONFIG_NEUTRON_OVS_BRIDGE_IFACES=br-ex:ens32/' /root/answers.txt
sed -i 's/CONFIG_PROVISION_DEMO=.*/CONFIG_PROVISION_DEMO=n/' /root/answers.txt

# packstack --answer-file /root/answers.txt
11:52

-> 한 줄 한 줄 복사할 것!!

 

 

2) KEYSTONE => 사용자에게 역할을 주고 접근제어 하는 것

3) NTP => 타임서버의 설정. 시간관련된 거 정확하게 셋팅

4) HEAT => AWS Cloud Formation과 동일

5) SWIFT => 는 Object Store YES

6) CEILOMETER => Cloud Watch와 유사한 모니터링 도구

7) AODH => NO로 셋팅

8) NEUTRON_L2 => VPC와 유사함 (가상네트워크를 꾸며줌)

9) CONFIG_NEUTRON_ML2 => 

10)

11) BRIDGE_MAPPING

12) BRIDGE_IFACES

13) 

 

리눅스의 자동완성 기능
# yum -y install bash-completion

오픈스택의 자동완성 기능
# openstack complete | tee /etc/bash_completion.d/osc.bash_completion > /dev/null

타임아웃이 되는 부분 변경해주기
# vi /etc/keystone/keystone.conf
expiration=84600 # 변경

 

# vi /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py
SESSION_TIMEOUT = 84600

# reboot


Openstack_Rocky -> 스냅샷까지

 

 

172.25.0.137로 접근하기

admin

Test1234!

 

왼쪽) 프로젝트 명

오른쪽) 사용자 명

 


Keystone Project, User 관리

Keystone (=AWS IAM) : Project, User, Role 지정가능

 

Openstack Core Service (5가지 중 1가지만 없어도 서비스 안됨)

1. Compute Service : CPU, RAM (nova = EC2)

2. network Service : router, switch, pvt ip, pub ip (neutron = VPC)

3. Storage Service : block(cinder=EBS),

                                   file(manila=EFS), object (swift = S3) -> 얘들은 5번의 identity Service에 붙여도 됨

4. Image Service : os (glance = AMI)

5. identity Service: Project, User, role (keystone = IAM)

 

webui console : dashboard (horizon = aws management console)

 

 

OpenStack Keystone은 OpenStack 프로젝트의 Identity 서비스 !  (=AWS IAM과 유사함)

Keystone은 사용자, 프로젝트, 역할 및 권한과 같은 인증 및 권한 부여 서비스를 제공하여 OpenStack 클라우드 환경에서 리소스에 대한 접근을 관리합니다.

 

1. 사용자 관리 

Keystone은 클라우드 서비스에 액세스할 수 있는 사용자를 관리한다.

사용자 정보와 자격증명을 저장하고 관리.

 

2. 프로젝트 관리

프로젝트는 OpenStack 리소스의 논리적인 분리를 나타낸다.

예를 들어, 특정 프로젝트 내에서 가상머신, 네트워크 및 스토리지 리소스를 관리할 수 있다.

 

 

 


프로젝트 생성

 

 

사용자 생성

역할?

권한규칙(rule) > 권한정책(policy) > 역할(role)

 

 

 

역할 생성

-> 뭔가 권한이나 규칙을 넣을 수 있는게 아니고 이름만 생성하는 것이니 참고.

 

 

Flavor 생성

 

 

네트워크 생성

-> VMware가 이미 설정되어 있기 때문에 DHCP 사용은 제외 선택해준다.

 

 

- Admin 작업 끝 -


 

시크릿 창을 켜서 webui-user로 접근

-> 하지만 두개를 이어주는 라우터가 없음

 

 

Floating IP 할당

= Elastic IP (외부 IP)

pool = 그룹

 

-> 이렇게 3번 생성해준다.

 


보안그룹 생성

내보냄 = Out bound = egress

 

+ SSH, HTTP 까지 추가해주기

 

 

*.ova, *.ovf 는 vbox, vmware, esxi 에서 사용함

*.qcow2, *.img는 openstack-kvm에서 사용함

 

디비서버를 위한 보안그룹을 생성해주자

 

 

# vi /usr/share/openstack-dashboard/openstack_dashboard/local/local_settings.py

아래와 같이 해당 파일에서 포트번호 미리 지정 가능

 

+SSH도 추가

 

 

 

Glance 셋팅하기

 

-> 그 전에 CentOS-7-x86_64-GenericCloud 다운로드 해두기!!

-> 중간에 새로고침을 해야지 Active 상태로 변환됨

 

 

키페어 생성하기

 

728x90