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/
# yum install -y centos-release-openstack-rocky
# yum update -y
# yum install -y openstack-packstack
# packstack --gen-answer-file /root/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 상태로 변환됨
키페어 생성하기